Hi all: We (Me and a university mate) am developing a MP3 player based on compact flash (http://web.salleurl.edu/~is04607/) and USB1.1. I will use linux to control the device so I am developing a linux driver.
We use the USBN9604 from national Semiconductor to comunicate with the usb bus and a fujitsu processor. We have a mp3 decoder, compact flash socket, display and the rest of electronic components. I can comunicate with all the componets without problems. So it seems that the hardware works ok. My idea is that this device will be a block device so we will be able to mount the compact flash from linux in this way: $ mount -t XXXX /dev/ourdeviceinputfile /mnt/mp3player Then we will be able to write date on the compact flash (mp3 files or other kind of files). If we put any mp3 file we well be able to play it on the mp3player but we can put any other kind of file and use this device as storage system. All the hardware appears to work and know I am developing a little driver to test bus speed. This driver is called "devuelta". I do that to load the driver: # modprobe usbcore # modprobe usb-ohci # insmod ./devuelta.o This driver it is based in the skeleton-usb driver that we can found in the linux sources. I want that the driver will get the information that the user writes through the open/write system calls and send them to the device. When the device recive this information it has to resend the information to the computer. The firmware in the device has only 1 configuration with 1 interface that has 2 EndPoints. One of them is a IN epoint and the other a OUT endpoind. This firware is very simple for the moment, it gets the information that comes from OUT endpoint and write it to the IN endpoint. So If all would work well I will be able to do: $ cp /tmp/dummy.txt /dev/mp3device and from other console $ cat /dev/mp3device > /tmp/dummy2.txt In dummy2 we have the same contents that dummy. Firmware writes information about USB interrupts on the display so I can see when they happend. My problem is: When I launch this command: $ cp /tmp/dummy.txt /dev/mp3device My device doesn't recive anything but when I launch the same command but with strace, it recives the information well. $ strace cp /tmp/dummy.txt /dev/mp3device I am a bit disconcerted about this. By the way, the enumeration process works perfectly and usb subsytem see my device an reads its devices: Oct 31 20:19:53 ligero kernel: hub.c: USB new device connect on bus1/1, assigned device number 4 Oct 31 20:19:53 ligero kernel: devuelta.c: El Fabricante/Vendor hace macht... Oct 31 20:19:53 ligero kernel: devuelta.c: He encontrado un IN endpoint @81 Oct 31 20:19:53 ligero kernel: devuelta.c: He encontrado un OUT endpoint @2 Oct 31 20:19:53 ligero kernel: devuelta.c: USB TurbioMP3 sera controlador por devuleta DD: 0 And it also detects when my device is unplugged: Oct 31 20:21:11 ligero kernel: usb.c: USB disconnect on device 4 Oct 31 20:21:11 ligero kernel: devuelta.c: USB Skeleton #0 now disconnected Let me give you more information about the computer where I am developing my project (Yes, it is my final degree project.): - kernel : 2.4.19 - modutils : 2.4.18-3.7x - modulils devel: 2.4.14-3 - gcc : gcc version 2.96 20000731 (Yes I know it, it sucks!!!) - make : GNU Make version 3.79.1 - binutils : 9.2.1-1.7x.2 - libc : 2.2.5-40 - Usb modules loaded: Module Size Used by Tainted: PF devuelta 7044 0 usb-ohci 20160 0 (unused) usbcore 77280 0 [devuelta usb-ohci] I know that you need much more information to answer me. Send me the questions and I will answer it. Besides to answer about this question I would like to know if someone has experiences with the USB model and developing USB Block devices that we are using. What do you think about the dificult of the project? Especially about developoing the Block device driver. Can you point me about any with the same objectives that my project (Free Project, for sure)? Comments and questions in general are welcome too. Thank you some much for read this. P.S: Apologize about my english level, I know it sucks. ------------------------------------------------------- This sf.net email is sponsored by: Influence the future of Java(TM) technology. Join the Java Community Process(SM) (JCP(SM)) program now. http://ads.sourceforge.net/cgi-bin/redirect.pl?sunm0004en _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel