On Monday 01 January 2007 4:52 am, amateur wrote:
> Hi Guys,
> 
> I have a problem with bluez on a arm platform. Here is the detail:
> On the arm embedded platform, I invoke this command
>       l2ping -s 667 BDADDR
> to test the bluetooth L2CAP connection, where BDADDR is the bluetooth
> address of my Linux/Bluez laptop. At the same time, I use 
>       hcidump -x -R
> on my laptop to monitor the bluetooth traffic. The problem is that the
> data I sent from the embedded arm platform got corrupted on
> receptioin.  

You're being unclear here ... Linux on both ends?  Is the data
corrupted in memory before the ARM sends it?  After?  There's
some kind of USB dongle on both ends?  The same kind?


> After a careful check, I found that the error has the 
> following pattern: Some bytes of the ACL data packet, which
> corresponding to the L2CAP Echo Request Command, will have some 4
> bytes of its content changed from valid data to 4 bytes of zero on
> occasion. And this change-to-zero error may occur several times in a
> ACL Packet sometimes. The distance between consecutive errors is
> always a multiple of 64-bytes which is the maxPacketSize of the USB
> pipe of the bluetooth dongle.  The offset of the error position in the
> ACL Packet is always 64*i+4-64*i+7(4 bytes), where 'i' is an integer.

That is, (64 * i) + 4 - (64 * i) + 7 == +11 bytes offset always??

Check out the data before and after TX; you can just checksum it.
That will let you verify that it was OK on TX.  Do the same kind


> I am really confused. I have checked the skb and urb associated with
> the ACL Packet. And they both looks fine(content correct). So where
> could the problem lies in? Has anyone have had such a problem before?
> Any clue or hints are welcome!
> 
> Is this an known bug of OHCI HC driver usb-ohci in kernel 2.4.21? What
> makes me more confused is that the Usb Storage Disk works great on the
> embedded system.

If you're asking about support for USB in 2.4, or ARM on 2.4, you're
pretty much on your own (unless you have a contract with some vendor
to support you).  You're asking for support for _both_ of those, as
well as Bluetooth ... all of which adds up to your being really unlikely
to get any useful answers from the Linux community.  (Except via paid
support contracts.)

The OHCI driver has been seriously reworked since 2.4, in part to get
rid of lots of little problems that slower CPUs (like ARM) were very
good at turning up.  The 2.6 OHCI code is pretty solid, and works on
a surprisingly large variety of silicon implementations.


> I'm using linux-2.4.21 with patch-linux-2.4.21-mh10 and a cirrus edb9312
> embedded arm platform which has a OHCI-Compatible USB Host Controller.
> The bluetooth dongle is a CSR one which works normally on my laptop
> PC.

Try upgrading to Linux 2.6.20-rc, and see if that changes anything.

Don't ask for support for any Linux-ARM 2.4 kernel and expect anything
more than a pointer to the FAQ that says "upgrade to 2.6 and try again".
It's been a few years since starting new projects on 2.4 kernels was a
good idea.

- Dave

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to