>For DM1/DH1 packet this seems to work ok (a bit slow), but when I increase >the packet size lots of kernel messages starts showing up in the recieving >end. I've tried on a machine with an Intel controller with uhci.o and >usb-uhci.o and on a machine with an Opti controller and ohci.o. They give >different error messages, but none of them seems to do the trick. >You previously asked me for some dumps, but I havn't gotten arround to >installing hcidump, so I hope the following will be enough - otherwise say so. >The errors seem to be rather alike, so to me that suggests that the >problem is with hci-usb and not the usb drivers... hcidump won't help in this case, packets are dropped at usb level. Please send me hciconfig -a output.
Dumps indeed look similar but I'm pretty sure that it's not hci_usb driver problem. Seems like USB transaction got screwed up somehow. USB folks, any ideas why this could happened ? Here is details. Bluetooth spec defines its own Host Controller Interface (HCI). Data packet packets are called ACL packets. Each packet has the following header typedef struct { __u16 handle; __u16 dlen; } __attribute__ ((packed)) hci_acl_hdr; Complete ACL packet has to be sent/received in one USB transaction. Only the first USB packet in transaction has ACL header in it. Somehow transaction got completely screwed with this particular device (SiliconWave BlueFrog). Here is a receive dump hci_usb_rx_complete: hci0 corrupted ACL packet: count 199, dlen 60 hci_usb: dump, len 199 hci_usb: 00 10 3C 00 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 00 10 3C 00 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 00 10 3C 00 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F hci_usb: 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 7F 00 10 03 00 7F 7F 7F "00 10 3C 00" is correct ACL header with data len set to 60 bytes. 7F is a payload sent by our test tool. So as you see somehow bunch of valid ACL packets got merged into one transaction. Can this be a bug in HCDs or somewhere else in USB stack ? Max _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel