[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

USB usb mass storage driver



Hi all,

we try to use an USB FLASH DRIVE on a Devboard LX . So we have patched
the devboard to get an USB connector (using USB_Devboard_LX.pdf). The
usb pen is detected (sometimes it is but usually not...) and the driver
is attached to the usb pen.

We can verify that in /proc/bus/usb/devices :
      P:  Vendor=0d7d ProdID=0100 Rev= 1.00
      S:  Manufacturer=Maxell
      S:  Product=Max Drive
      S:  SerialNumber=0717150802D7
      C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50
Driver=usb-storage
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=255ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=255ms
      E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=  1ms

And also in /proc/scsi/usb-storage-0/0 :
       Host scsi0: usb-storage
       Vendor: Maxell
       Product: Unknown
       Serial Number: None
       Protocol: Transparent SCSI
       Transport: Bulk
       GUID: 0d7d01000000000000000000
       Attached: 1


But when we try to mount it we've got sometimes a kernel panic : (

[root@Product /]75# mount /etc/sda1 /etc/usb_test/
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 64000 512-byte hdwr sectors (32 MB)
sda: Write Protect is off
Partition check:
   sda:
<4>usb-host.c: Undefined error for endpoint 2
usb-host.c: Stall for endpoint 2
   sda1
usb-host.c: Unlink of BULK or CTRL
usb-host.c: Found urb at epid 2, pos 1
Unable to handle kernel NULL pointer dereference at virtual address 00000000
Oops: 0000
IRP: 6006597c SRP: 600659f4 DCCR: 00000424 USP: 4fffc550 MOF: 00000000
   r0: 90020083  r1: 600dbf18   r2: 00000002  r3: 607b8f80
   r4: 00000008  r5: 60006b48   r6: 00000000  r7: 00010000
   r8: 600dbfdc  r9: 00000000  r10: 607b8f80 r11: 00000002
r12: 00000004 r13: 00000000 oR10: 607b8f80
R_MMU_CAUSE: 70021002
Process swapper (pid: 0, stackpage=600da000)

Stack from 4fffc550:
         00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
         00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
         00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000
Call Trace: [<74696e69>] [<7473203a>] [<7520676e>]
Stack from 600dbd9c:
         60006b48 600dbedc 60044370 60044534 00000002 00000000 00000000
607b8f80
         600ab240 00000000 600dbe98 600445da 600dbe98 601a4000 60006b48
600465d0
         600dbfdc 00010000 00000000 60006b48 00000008 607b8f80 600dbe98
601a4000
Call Trace: [<60006b48>] [<60044370>] [<60044534>] [<600445da>]
[<60006b48>] [<6
00465d0>] [<60006b48>]
         [<60068df6>] [<60068e0a>] [<60068f5c>] [<6008f4d2>] [<6008f632>]
[<600463
cc>] [<60044266>] [<60006b48>]
         [<600659f4>] [<6006597c>] [<6000a484>] [<6000cac0>] [<6000a3d0>]
[<6000a2
f6>] [<6000a0ac>] [<6004505e>]
         [<80000000>] [<60044f06>] [<6004355c>] [<600044a2>] [<60004560>]
[<60006b
48>] [<6004355c>] [<6000407a>]
Code: 6f 4d 20 43 11 60 69 9a 18 91 69 9a (fe) 93 c2 92 30 20 c3 92 62
96 c4 93
Kernel panic: Aiee, killing interrupt handler!
In interrupt handler - not syncing

Sometimes it mounts then we can write to the pen (really sometimes !!!).
But big writings make scsi errors messages (or/and kernel panics).

Did someone suceeded in using that kind of peripherals ?  Where do you
think is the problem ?


Thank you for your help