USB flash not working anymore
Peter Radcliffe
pir at pir.net
Thu Dec 30 18:31:14 PST 2004
Julian Elischer <julian at elischer.org> probably said:
> do you have access to anything with an EHCI or OHCI controller for
> comparison with that device?
My (now usually windows only) amd64 desktop box has ohci, but it doesn't
have any ethernet devices that 4 has support for (5 does, apparently)
so I can't easily give direct logs.
Booting i386 FreeBSD from an old partition taken to 4-STABLE from
earlier this month shows that the SanDisk CF redaer works fine with
mtools to read from (when I try to write to it I get lots of umass0:
BBB reset failed, STALLED) and the Iomega micro mini thumbdrive also
works fine with mtools for read/write.
The crucial gizmo does not work at all, I get a umass0 message, a
disconnection and then detatch message and then another "umass0:
Crucial Gizmo, rev 2.00/0.01, addr" message and nothing else, no da0;
can't re-use a leaf (minimum_cmd_size)!
umass0: at uhub1 port 4 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
umass0: detached
umass0: Crucial Gizmo, rev 2.00/0.01, addr 2
umass0: at uhub1 port 4 (addr 2) disconnected
umass0: detached
umass0: Crucial Gizmo, rev 2.00/0.01, addr 2
Shortly after removing the Gizmo the machine page faulted in kernel
mode and crashed.
After enabling crashdumps I tried this again and the gizmo as the
first device worked;
umass0: Crucial Gizmo, rev 2.00/0.01, addr 2
umass0: at uhub1 port 4 (addr 2) disconnected
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Crucial Gizmo 1.00> Fixed Direct Access SCSI-CCS device
da0: 650KB/s transfers
da0: 123MB (251904 512 byte sectors: 64H 32S/T 123C)
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
umass0: detached
umass0: Crucial Gizmo, rev 2.00/0.01, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Crucial Gizmo 1.00> Fixed Direct Access SCSI-CCS device
da0: 650KB/s transfers
da0: 123MB (251904 512 byte sectors: 64H 32S/T 123C)
can't re-use a leaf (minimum_cmd_size)!
then I got a panic: ohci_abort_xfer: not in process context and a very
big crashdump;
IdlePTD at physical address 0x003ef000
initial pcb at physical address 0x00346b20
panicstr: ohci_abort_xfer: not in process context
panic messages:
---
panic: ohci_abort_xfer: not in process context
syncing disks...
done
Uptime: 4m35s
(kgdb) bt
#0 0xc018b9aa in dumpsys ()
#1 0xc018b77b in boot ()
#2 0xc018bba0 in poweroff_wait ()
#3 0xc0246760 in ohci_abort_xfer ()
#4 0xc024641f in ohci_timeout_task ()
#5 0xc024a101 in usb_task_thread ()
Further down the rabbit hole, I build a kernel.debug and try to
copy things over to a flash drive to get them to another machine;
umass0: SanDisk Corporation ImageMate CompactFlash USB, rev 1.10/0.09, addr 2
umass0: Get Max Lun not supported (STALLED)
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <SanDisk ImageMate II 1.30> Removable Direct Access SCSI-2 device
da0: 650KB/s transfers
da0: 489MB (1001953 512 byte sectors: 64H 32S/T 489C)
umass0: BBB reset failed, STALLED
umass0: Invalid CSW: tag 96 should be 97
umass0: BBB reset failed, STALLED
umass0: Invalid CSW: tag 97 should be 98
[lots of these pairs]
umass0: Invalid CSW: tag 150 should be 151
umass0: BBB reset failed, STALLED
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
status == 0x0
umass0: Invalid CSW: tag 151 should be 152
umass0: BBB reset failed, STALLED
umass0: BBB reset failed, STALLED
umass0: BBB reset failed, STALLED
umass0: Invalid CSW: tag 234 should be 235
umass0: BBB reset failed, STALLED
[lots more of these pairs]
umass0: Invalid CSW: tag 235 should be 236
umass0: BBB reset failed, STALLED
umass0: BBB reset failed, STALLED
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi
status == 0x0
umass0: Invalid CSW: tag 248 should be 250
umass0: BBB reset failed, STALLED
umass0: BBB reset failed, STALLED
umass0: BBB reset failed, STALLED
This didn't crash the machine, at least.
Trying to reprovoke the crash it seems to only fail with a panic from
one pair of usb ports, the rest work better. I get another page fault
in kernel mode and it dumps;
IdlePTD at physical address 0x003ec000
initial pcb at physical address 0x00346b20
panicstr: page fault
panic messages:
---
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x4c
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc024b23e
stack pointer = 0x10:0xe1d91f30
frame pointer = 0x10:0xe1d91f44
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 4 (usbtask)
interrupt mask = bio
trap number = 12
panic: page fault
syncing disks... 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
giving up on 1 buffers
Uptime: 7m9s
(kgdb) bt
#0 0xc018b9aa in dumpsys ()
#1 0xc018b77b in boot ()
#2 0xc018bba0 in poweroff_wait ()
#3 0xc02a5f7a in trap_fatal ()
#4 0xc02a5c4d in trap_pfault ()
#5 0xc02a5837 in trap ()
#6 0xc024b23e in usb_transfer_complete ()
#7 0xc0246817 in ohci_abort_xfer ()
#8 0xc024641f in ohci_timeout_task ()
#9 0xc024a101 in usb_task_thread ()
That help any ?
P.
--
pir
More information about the freebsd-usb
mailing list