On 10 March 2010 17:40, Sven Killig <[email protected]> wrote:
>> -----Original Message-----
>> From: [email protected]
> [mailto:[email protected]] On Behalf Of Andrew de Quincey
>> Sent: Wednesday, March 10, 2010 5:59 PM
>> To: [email protected]
>> Subject: Re: [android-kernel] Re: Working MSM7201 usb host driver v2
>>
>> If you look at the android kernel trees at android.git.kernel.org
>> there is absolutely no mention about host mode as you say. This has to
>> be a policy decision by Google.
>
> I was afraid Qualcomm gave up implementing a stable hub-capable host mode
> driver, but your success makes me hope again :-)
> My tries got stuck half a year ago:
> http://www.android-hilfe.de/root-hacking-modding-fuer-samsung-galaxy/5891-us
> b-host-otg-moeglich-2.html#post67545
> I just used this cable:
> http://cgi.ebay.com/Micro-USB-Host-Cable-for-Nokia-N810-OTG-on-the-go-N-810_
> W0QQitemZ250589706476QQcmdZViewItemQQptZPDA_Accessories?hash=item3a584f78ec
> ("Micro USB Host Cable for Nokia N810 OTG on the go N 810")
> and a powered USB 2.0 hub, perhaps that was the mistake?

Interesting, so it detects the host hardware ok, but fails to actually
talk to any devices? I had exactly that error from two sources:

1) 'cos I had the cable data lines the wrong way round
2) I found you had to set an extra flag in the DMA setup.. see here:
http://groups.google.com/group/android-kernel/browse_thread/thread/361326399cd4e891#

If you look at:
https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=blob;f=drivers/usb/host/ehci-msm.c;h=6111ae2fc8870786efe84162eb9aae75d91e725b;hb=carrot.cupcake

Specifically:
 510         /*
 511          * generic hardware linkage
 512          */
 513         .irq                    = ehci_msm_irq,
 514         .flags                  = HCD_USB2,

They're missing that flag. I found if you changed that to
        .flags = HCD_USB2 | HCD_MEMORY | HCD_LOCAL_MEM,

it all started working. The HCD_LOCAL_MEM tells it that the USB
controller can't DMA from just any old memory, and it has to copy to a
local transfer buffer before intiating DMA.

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel

Reply via email to