maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Nokia N900 (https://talk.maemo.org/forumdisplay.php?f=44)
-   -   N900 will not allow USB OTG! (https://talk.maemo.org/showthread.php?t=31921)

fw190 2010-06-01 07:01

Re: N900 will not allow USB OTG!
 
I already have it since 3 months ;) I only wait for the big day :)

blue_led 2010-06-01 17:08

Re: N900 will not allow USB OTG!
 
an interesting crash with clear fifos & routines call

[112894.466735] usb 1-1: new high speed USB device using musb_hdrc and address 76
[112900.470214] ------------[ cut here ]------------

[112900.470275] WARNING: at drivers/usb/musb/musb_host.c:128 musb_h_tx_flush_fifo+0x94/0xcc()
[112900.470336] Could not flush host TX0 fifo: csr: 000a
[112900.470336] Modules linked in: g_nokia pn_pep vfat fat sd_mod scsi_mod iphb rfcomm panic_info_buff sco l2cap ext3 omaplfb jbd pvrsrvkm bridgedriver uinput board_rx51_camera omap_previewer_hack omap34xxcam_mod isp_mod iovmm videobuf_dma_sg videobuf_core omap3_iommu iommu2 iommu dspbridge ssi_mcsaab_imp cmt_speech phonet smc91x mii wl12xx mmc_block omap_wdt omap_ssi mac80211 crc7 tsc2005 omap_hsmmc nokia_av hci_h4p mmc_core bluetooth fmtx_si4713 et8ek8 videodev lis302dl ad5820 v4l1_compat compat_ioctl32 adp1653 leds_lp5523 smia_sensor tsl2563 smiaregs v4l2_int_device rtc_twl4030 rtc_core twl4030_wdt leds_twl4030_vibra led_class [last unloaded: g_file_storage]
[112900.470916] [<c003039c>] (dump_stack+0x0/0x14) from [<c0056a60>] (warn_slowpath+0x64/0x80)
[112900.471008] [<c00569fc>] (warn_slowpath+0x0/0x80) from [<c01e1a38>] (musb_h_tx_flush_fifo+0x94/0xcc)
[112900.471099] r3:00000000 r2:c032e992
[112900.471130] r6:d80ab100 r5:0000000a r4:0000000a
[112900.471191] [<c01e19a4>] (musb_h_tx_flush_fifo+0x0/0xcc) from [<c01e2784>] (musb_cleanup_urb+0xc0/0x10c)
[112900.471252] [<c01e26c4>] (musb_cleanup_urb+0x0/0x10c) from [<c01e2edc>] (musb_urb_dequeue+0x1a8/0x210)
[112900.471343] [<c01e2d34>] (musb_urb_dequeue+0x0/0x210) from [<c01c9470>] (unlink1+0x108/0x114)
[112900.471405] [<c01c9368>] (unlink1+0x0/0x114) from [<c01ca048>] (usb_hcd_unlink_urb+0x98/0xb4)
[112900.471496] [<c01c9fb0>] (usb_hcd_unlink_urb+0x0/0xb4) from [<c01cad2c>] (usb_kill_urb+0x84/0x14c)
[112900.471557] r7:00001388 r6:c90b5f80 r5:cf0a4000 r4:00000000
[112900.471618] [<c01caca8>] (usb_kill_urb+0x0/0x14c) from [<c01cbe24>] (usb_start_wait_urb+0x80/0xac)
[112900.471679] r6:c90b5f80 r5:cf0a5e78 r4:00000000
[112900.471740] [<c01cbda4>] (usb_start_wait_urb+0x0/0xac) from [<c01cc030>] (usb_control_msg+0xc4/0xe8)
[112900.471801] r8:00000000 r7:00000000 r6:0000004c r5:00000000 r4:cfedccc0
[112900.471862] [<c01cbf6c>] (usb_control_msg+0x0/0xe8) from [<c01c5d28>] (hub_port_init+0x3a0/0x5e0)
[112900.471923] [<c01c5988>] (hub_port_init+0x0/0x5e0) from [<c01c80e8>] (hub_thread+0x6cc/0xd60)
[112900.472015] [<c01c7a1c>] (hub_thread+0x0/0xd60) from [<c006cd00>] (kthread+0x54/0x80)
[112900.472076] [<c006ccac>] (kthread+0x0/0x80) from [<c0059c58>] (do_exit+0x0/0x7b4)
[112900.472167] r5:00000000 r4:00000000
[112900.472198] ---[ end trace 2736a4e4a1f3ee04 ]---

sarahn 2010-06-01 17:22

Re: N900 will not allow USB OTG!
 
Quote:

Originally Posted by jimx (Post 692748)
Extraordinary results. Is there any chance of an 'interim release' just to get us ordinary mortals up-and-running with a USB keyboard in the meantime? It would make such a huge difference.

Apologies if this is an inappropriate request. Very very best of luck with this project - I think I'm not the only one here following this thread with bated breath...

Jimx,

I can't speak for others working on the project, but given USB is required for charging, I would prefer to take a little more time up front to check and minimize the number of software changes needed for USB host to work.

blue_led 2010-06-01 17:35

Re: N900 will not allow USB OTG!
 
virtual hub ?

2239 static int musb_h_start(struct usb_hcd *hcd)
2240 {
2241 struct musb *musb = hcd_to_musb(hcd);
2242
2243 /* NOTE: musb_start() is called when the hub driver turns
2244 * on port power, or when (OTG) peripheral starts.
2245 */
2246 hcd->state = HC_STATE_RUNNING;
2247 musb->port1_status = 0;
2248 return 0;


i see bus suspend mesages ( on my previous screen captures ) but bus resume has no code, no nothing.
is this ok ?? i think the bus in host mode never wake up and this is a big problem as i see enumeration is one time job.
if we are blessed with an "connect" interrupt something must happen in bus resume routine.

2257 static int musb_bus_suspend(struct usb_hcd *hcd)
2258 {
2259 struct musb *musb = hcd_to_musb(hcd);
2260
2261 if (musb->xceiv->state == OTG_STATE_A_SUSPEND)
2262 return 0;
2263
2264 if (is_host_active(musb) && musb->is_active) {
2265 WARNING("trying to suspend as %s is_active=%i\n",
2266 otg_state_string(musb), musb->is_active);
2267 return -EBUSY;
2268 } else
2269 return 0;
2270 }
2271
2272 static int musb_bus_resume(struct usb_hcd *hcd)
2273 {
2274 /* resuming child port does the work */
2275 return 0;

2276 }

Hmoobwarrior 2010-06-01 18:06

Re: N900 will not allow USB OTG!
 
KEEP up the good work guys I am waiting for the day to add a micro usb-usb adapter + 3g 850/1900 to get on att services rather then swapping sim cards every time i want to browse interent on the go.

javispedro 2010-06-01 18:09

Re: N900 will not allow USB OTG!
 
Quote:

Originally Posted by sarahn (Post 692746)
does not change to read vbus. It still reads idpin. If I do both at once, vbus takes priority.

In this case, this is a twl4030 hardware feature (not driver -- http://mxr.maemo.org/fremantle-20091...4030-usb.c#358 ) and we'd need to emulate that in software.

It might make sense as the usual trace is a_idle -> ... -> a_wait_vbus -> .. -> a_host.

blue_led 2010-06-01 19:35

Re: N900 will not allow USB OTG!
 
i seen code a month ago .....but
come on ...both vbus & !ID true is missing
added bold my diff ( warn: only the idea not functional code )

354 /* STS_HW_CONDITIONS */
355 status = twl4030_readb(twl, TWL4030_MODULE_PM_MASTER, 0x0f);
356 if (status < 0)
357 dev_err(twl->dev, "USB link status err %d\n", status);

else if ((status & BIT(7)) & (status & BIT(2))
linkstat=USB_LINK_ POWEREDHOST /*must be added in enum linkstat */

358 else if (status & BIT(7))
359 linkstat = USB_LINK_VBUS;
360 else if (status & BIT(2))
361 linkstat = USB_LINK_ID;
362 else
363 linkstat = USB_LINK_NONE;
364
365 dev_dbg(twl->dev, "HW_CONDITIONS 0x%02x/%d; link %d\n",
366 status, status, linkstat);
367
368 /* REVISIT this assumes host and peripheral controllers
369 * are registered, and that both are active...

because when vbus=true => PERIPHERAL only
we need replace
.................................................. .......
374 if (linkstat == USB_LINK_ID) {
375 twl->otg.default_a = true;
376 twl->otg.state = OTG_STATE_A_IDLE;
377 }

else if ( linkstat==USB_LINK_ POWEREDHOST){
twl->otg.default_a = true;
twl->otg.state = OTG_STATE_A_WAIT_BCON: /* not shure if will work*/
}

else {
378 twl->otg.default_a = false;
379 twl->otg.state = OTG_STATE_B_IDLE;
380 }

waiting vbus rise is not needed to enter a_wait_bconn because vbus is here and state machine can jump directly into this stage

and a routine sensing D+ rise is needed for peripheral insert sense but must be started after one bus suspend condition

Omkar 2010-06-01 21:05

Re: N900 will not allow USB OTG!
 
Sorry if this is already posted.. But has anyone seen this cable.
http://www.nokiausers.net/Videos-and...nd-Mobile.html

looks like a microUSB. and i guess it comes in the box with the N8.. Hope they put the cable in store before the phone.. :)

ToJa92 2010-06-01 21:09

Re: N900 will not allow USB OTG!
 
Quote:

Originally Posted by Omkar (Post 694705)
Sorry if this is already posted.. But has anyone seen this cable.
http://www.nokiausers.net/Videos-and...nd-Mobile.html

looks like a microUSB. and i guess it comes in the box with the N8.. Hope they put the cable in store before the phone.. :)

There is already an adapter that looks like that, check here http://talk.maemo.org/showpost.php?p...postcount=1000
But yeah, a cable would be nice(although it looks short) :)

Omkar 2010-06-01 21:11

Re: N900 will not allow USB OTG!
 
yup saw it :) but The cable looks beautiful and professional:) I am speaking as a End user though.


All times are GMT. The time now is 18:24.

vBulletin® Version 3.8.8