Hello, I am just getting start with linux-usb in order to write a driver for a USB device.
I am using Redhat 9 kernel 2.4.20-8 original. I can send/receive any msg through EP0. However, I am having problems when trying to do a Bulk transferring through EP2. The first downstream packet reaches the device OK. The device is also able to reply with a Bulk packet to the host (my App does that on device end). The problem happens when a second Bulk packet is submit to the device. I get OK status but the device receives a CONNECT event (rather then a RECEIVED event). This device works fine under other OS's. I guess I will need to get the latest usbcore and usb-uhci source files and add logs in order to explore. So where can I get those source files ? Any known problem as this one ? Appreciated, Marcelo Varanda ***** Physic Connection: ************************** Kernel messages ***************************** usb.c: registered new driver myusb myusb:myusb_init: driver is now registered myusb.c: v1.00:MY-USB Interface Driver for Linux (c)2003 hub.c: new USB device 00:04.2-2.1, assigned address 45 myusb:MSG myusb is probbing the attached device myusb:vendor id 0xfca, device id 0x1 ifnum:0 myusb:cntrlSize = 8 myusb:MY Buffer Allocation OK myusb:myusb is connected - *************** first cycle of sending/receiving a Bulk packet to endpoint 2 -**** first send a packet (len = 37 bytes) myusb:Client openning me myusb:pipe test:1 myusb:urb :cd041d80 myusb:next :00000000 myusb:dev :c18fee00 myusb:pipe :C0012D00 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdba9000 myusb:transfer_buffer_length:37 myusb:actual_length :0 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0ec myusb:status: OK myusb:Snd URB was submit OK -****** request a bulk read myusb:urb :c2999380 myusb:next :00000000 myusb:dev :c18fee00 myusb:pipe :C040AD80 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdbec000 myusb:transfer_buffer_length:64 myusb:actual_length :0 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0b4 myusb:status: OK myusb:Rcv Bulk URB was submit OK myusb:CallBack for Snd Bulk Complete done myusb:urb :cd041d80 myusb:next :00000000 myusb:dev :00000000 myusb:pipe :C0012D00 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdba9000 myusb:transfer_buffer_length:37 myusb:actual_length :37 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0ec myusb:status: OK myusb:CallBack for Rcv Bulk Complete done : great... this one worked fine myusb:urb :c2999380 myusb:next :00000000 myusb:dev :00000000 myusb:pipe :C040AD80 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdbec000 myusb:transfer_buffer_length:64 myusb:actual_length :32 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0b4 myusb:status: OK myusb:ret vals: 1 11 myusb:Client Closing me:myusb myusb:Client openning me - *************** starting the second cycle: send/receive a Bulk packet to endpoint 2 -**** first send a packet (len = 37 bytes) myusb:pipe test:2 myusb:urb :cd041d80 myusb:next :00000000 myusb:dev :c18fee00 myusb:pipe :C0012D00 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdba9000 myusb:transfer_buffer_length:37 myusb:actual_length :37 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0ec myusb:status: OK myusb:Snd URB was submit OK -****** request a bulk read myusb:urb :c2999380 myusb:next :00000000 myusb:dev :c18fee00 myusb:pipe :C040AD80 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdbec000 myusb:transfer_buffer_length:64 myusb:actual_length :32 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0b4 myusb:status: OK myusb:Rcv Bulk URB was submit OK myusb:CallBack for Snd Bulk Complete done --- UPS... I am getting a CONNECT event on the device ??? what is going on here ??? myusb:urb :cd041d80 myusb:next :00000000 myusb:dev :00000000 myusb:pipe :C0012D00 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdba9000 myusb:transfer_buffer_length:37 myusb:actual_length :37 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0ec myusb:status: OK ************ UPS... it is missing here a Callback for the Rx packet... the device did not send myusb:Client Closing me:myusb myusb:Client openning me - *************** starting the third cycle: send/receive a Bulk packet to endpoint 2 -**** first send a packet (len = 37 bytes) myusb:pipe test:3 myusb:urb :cd041d80 myusb:next :00000000 myusb:dev :c18fee00 myusb:pipe :C0012D00 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdba9000 myusb:transfer_buffer_length:37 myusb:actual_length :37 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0ec myusb:status: OK myusb:Snd URB was submit OK -****** request a bulk read myusb:urb :c2999380 myusb:next :00000000 myusb:dev :c18fee00 myusb:pipe :C040AD80 myusb:status :-115 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdbec000 myusb:transfer_buffer_length:64 myusb:actual_length :0 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0b4 myusb:status:EINPROGRESS ******* of course...it fails because it is still pending the last request usb-uhci.c: ENXIO c040ad80, flags 0, urb c2999380, burb c2999380 myusb:Rcv Bulk URB error: fail submitting Bulk Rcv myusb:CallBack for Snd Bulk Complete done myusb:urb :cd041d80 myusb:next :00000000 myusb:dev :00000000 myusb:pipe :C0012D00 myusb:status :0 myusb:transfer_flags :00000000 myusb:transfer_buffer :cdba9000 myusb:transfer_buffer_length:37 myusb:actual_length :37 myusb:setup_packet :00000000 myusb:start_frame :0 myusb:number_of_packets :0 myusb:interval :0 myusb:error_count :0 myusb:context :00000000 myusb:complete :d08ee0ec myusb:status: OK myusb:Client Closing me:myusb *********************** End of Kernel messages ************************* ------------------------------------------------------- This SF.Net email is sponsored by: INetU Attention Web Developers & Consultants: Become An INetU Hosting Partner. Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission! INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel