Can I contribute?
Yes, you can!
There is a lot of useful stuff. Contact Mike Gibson to receive the specifications of SCM. Check the "links" page for all kind of interesting sources.
When will the driver be included in the kernel?
Hard to say. The good news is that recently (April 2004) Daniel (Gentoo developer) adopted the project to get the driver ready for kernel 2.6. The driver will be backported for 2.4 kernels afterwards.
Any help for testing and maybe developing, is welcome and will help to speed up the process.
Where are the SCSI files? I see a broken link!
When you untar the source the is a symbolic link that should point to the directory of the kernel sources of the SCSI driver:
/usr/src/linux/drivers/scsiSo, you need to have the kernel sources installed and the kernel sources should be in /usr/src/linux. With Redhat distributions a
cd /usr/src; ln -s linux-2.4 linuxwill do. You can also change the symlink in your usbat-02 directory of course ;-)
How do I know which /dev/??? I should mount?
The logfile can be your friend. If you do a
tail -f /var/log/messagesbefore you connect the device, you can see messages like
kernel hub.c: USB new device connect on bus1/2/3, assigned device number 43 kernel scsi1 : SCSI emulation for USB Mass Storage devices kernel Vendor: SCM Model: SCM USBAT-02/ZIO Rev: 0005 kernel Type: Direct-Access ANSI SCSI revision: 02 kernel Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0 kernel SCSI device sda: 126465 512-byte hdwr sectors (65 MB) kernel sda: Write Protect is off kernel sda:<7>usb-storage: queuecommand() called kernel sda1So, in this case the device that should be mounted is "/dev/sda1".
There is no scsi device (sda1 or whatever) in the logfile. What is wrong?In some cases, the device will show up as a generic scsi device instead of a normal scsi disc. In this case you will have to load sd_mod before loading usb-storage. (Thanks to Darin Smith).
Why do I have to "insmod" the usb-storage driver manually? Can't it be done automagically?
If the driver has made it to the kernel, you won't have to do a thing, but we are not that far yet. Nevertheless, there is a way to achieve this. Thanks to Robert Hamersky who gave us the tip.
First copy the usb-storage.o in a directory which is not in the modul-path (modprobe -c|grep path) i.e. /usr/local/modules Second add the following line to /etc/modules.conf alias block-major-8 /usr/local/modules/usb-storage.o Third set up a proper mount line in /etc/fstab /dev/sda1 /mnt/usbcf auto defaults,user,noauto,showexec,umask=022 0 0 Now the usb-storage module is loaded exactly at the moment when you type mount /mnt/usbcf
Help, I can only mount the device as root!
Put a line in your /etc/fstab, like:
/dev/sda1 /mnt/usbcf auto defaults,user,noauto,showexec,umask=022 0 0(change /dev/sda1 by the right /dev/xxx). The "user" options allows "simple" users to mount the device.
Help, I can not umount the device!
Probablye the mounted device is in use. You can check this with the "lsof" command:
lsof /mnt/usbcfReplace /mnt/usbcf by the directory you use. Closing the application or doing a cd command will do the trick...
Even after reading the FAQ and de README's, I still have questions. What should I do?
Drop the question on the mailinglist.
Where can I find the latest sources?
In cvs. Assuming you want to check out version 0.4.7 from CVS, and you have not already got a CVS-checkout of any previous release:
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/usbat2 login (Hit enter, there is no password) cvs -z3 -d:pserver:email@example.com:/cvsroot/usbat2 \ co -r release-0_4_8 usbat-02-2.6
This will then save version 0.4.8 to a directory called "usbat-02-2.6" saved in the current directory.
If you have already checked out a version from CVS, but want to upgrade to a newer version (e.g. 0.4.9), it can be done like this:
cd usbat-02-2.6 cvs update -r -dPAC release-0_4_9
What work need still to be done?
The most things work. But there are still a few things that need to be done:
- handling of removing/changing the cards while the device is connected
- cleaning up the code
- maybe making some pre-packaged (like source-rpm's) drivers, so that installation can be done easier (as long as the driver not is integrated in the kernel)
Is there some sniffed USB data available?
Yes, even more than that. There is also a script that gives a verbose output (text instead of hex) of what is communicated via the USB bus. You can get it all via cvs:
cvs -d:pserver:firstname.lastname@example.org:/cvsroot/usbat2 login cvs -z3 -d:pserver:email@example.com:/cvsroot/usbat2 co sniffThe script that can give verbose information can be found in de tools directory (snifflook.pl).