NetBSD-Users archive

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

Re: possible fix for strange USB sticks / SD card readers



Matthias Drochner <M.Drochner%fz-juelich.de@localhost> wrote:

>
> As it was reported repeatedly, some USB sticks do not work on NetBSD,
> often a "Generic HBA error" is reported in the kernel log.
> There seem to be different kinds of misbehavior which cause this
> symptom. Finally I got one strange USB stick between my fingers,
> this one answers the SCSI "Request Sense" after an unsupported
> command with an USB pipe stall.
> Here is a patch which makes the code tolerate this behavior in
> certain cases. With that, the stick I got works properly.
>
> Can those of you with other non-working USB sticks (or SD card
> readers which sometimes use similar controller chips) try
> the patch and report whether it helps?

Guten Tach!
Yes, that patch seems to have fixed things for my no-name "SDHC card reader 
150x"
on NetBSD-5.0.2/i36:

--
# dmesg | tail
...
umass0 at uhub3 port 6 configuration 1 interface 0
umass0: Silicon Motion, Inc. Generic USB2.0 card, rev 2.00/1.00, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <Generic, USB  SD Reader, 1.00> disk removable
sd0: 3796 MB, 964 cyl, 128 head, 63 sec, 512 bytes/sect x 7774208 sectors


# sudo usbdevs -v -a 2 -d -f /dev/usb3
Controller /dev/usb3:
addr 2: high speed, power 500 mA, config 1, Generic USB2.0 card(0x6200), 
Silicon Motion, Inc.(0x090c), rev 1.00, serial 12345678901234567890
  umass0


# disklabel /dev/sd0

# /dev/sd0d:
type: SCSI
disk: USB  SD Reader  
label: fictitious
flags: removable
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 128
sectors/cylinder: 8064
cylinders: 964
total sectors: 7774208
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

5 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 d:   7774208         0     unused      0     0        # (Cyl.      0 -    964*)
 e:   7766016      8192      MSDOS                     # (Cyl.      1*-    964*)
disklabel: boot block size 0
disklabel: super block size 0

--

Been wanting this for several years - THANKS SO MUCH!


Jeff W.



Home | Main Index | Thread Index | Old Index