Last month I told about problems with my USB stick: I can write to but not read from the stick.
Meanwhile I tried different (FC2 and vanilla) kernels 2.6.6 .. 2.6.9 but without success. As the last working kernel remained kernel 2.6.5.
Then while doing again "menuconfig" to a vanilla kernel 2.6.9 I stumbled across a new block device driver called "Low Performace USB Block driver" which was not selected by default. I compiled this driver as module and gave it a try.
When I plugged in the stick all went automatically. I didn't have to "modprobe" anything. The USB stick was detected as:
usb 3-1: new full speed USB device using address 2 ub: sizeof ub_scsi_cmd 60 ub_dev 924 uba: device 2 capacity nsec 512000 bsize 512 uba: was not changed uba: uba1
In FC2 there are no device files /dev/uba* so what to mount here?. In the source (ub.c) a major of 125 is used, so I created myself some device files /dev/uba* with major 125 in the style of hda, hda0,..
brw-r--r-- 1 root disk 125, 0 31. Okt 11:00 /dev/uba brw-r--r-- 1 root disk 125, 1 31. Okt 11:00 /dev/uba1 .. brw-r--r-- 1 root disk 125, 8 31. Okt 11:01 /dev/uba8
Then I mounted /dev/uba1 to /mnt/stick and it worked. The stick is now fully operational again and I can get rid of kernel 2.6.5.
Somewhere I read the "ub" driver doesn't use SCSI emulation, so maybe the SCSI emulation in recent kernels makes the problems.
According to the source (ub.c) major 125 is "stolen" so 125 might change in future kernels.
Joerg