USB device

Started by sm2wmv, March 16, 2015, 11:26:37 AM

Previous topic - Next topic

sm2wmv

Hi,

I just plugged in the AM3352 board as USB device to my PC and got Kernel panic. I was wondering if somebody has got any tip on how to create virtual com ports via USB to a windows PC? Is there any way except using a FTDI chip that is maybe already implemented by someone?

Here is what happened when I plugged the board in as device,

AM3352-SoM login: [   32.304770] Unable to handle kernel NULL pointer dereferenc                                                                           e at virtual address 00000004
[   32.313326] pgd = c0004000
[   32.316178] [00000004] *pgd=00000000
[   32.319957] Internal error: Oops: 5 [#1] ARM
[   32.324462] Modules linked in: musb_dsps musb_hdrc snd_soc_omap snd_pcm_dmaen                                                                           gine snd_soc_core snd_compress tilcdc regmap_spi snd_pcm drm_kms_helper snd_page                                                                           _alloc snd_timer snd drm soundcore c_can_platform c_can can_dev ti_am335x_adc mu                                                                           sb_am335x industrialio
[   32.348776] CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.10-ti2013.12.01 #5
[   32.356121] task: c07be9a0 ti: c07b4000 task.ti: c07b4000
[   32.361857] PC is at musb_g_giveback+0xc/0x64 [musb_hdrc]
[   32.367562] LR is at musb_g_ep0_giveback+0x18/0x1c [musb_hdrc]
[   32.373716] pc : [<bf11b628>]    lr : [<bf11a0a0>]    psr: 800f0193
[   32.373716] sp : c07b5da0  ip : c07b5db8  fp : c07b5db4
[   32.385831] r10: 00000008  r9 : 00000001  r8 : e08be400
[   32.391340] r7 : e08be500  r6 : dbcaa248  r5 : dbcaa010  r4 : e08be500
[   32.398222] r3 : dbcaa2bc  r2 : 00000000  r1 : ffffffcc  r0 : dbcaa274
[   32.405109] Flags: Nzcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment ker                                                                           nel
[   32.412914] Control: 10c5387d  Table: 9d5e0019  DAC: 00000017
[   32.418974] Process swapper (pid: 0, stack limit = 0xc07b4240)
[   32.425120] Stack: (0xc07b5da0 to 0xc07b6000)
[   32.429717] 5da0: e08be500 dbcaa010 c07b5dc4 c07b5db8 bf11a0a0 bf11b628 c07b5                                                                           dfc c07b5dc8
[   32.438344] 5dc0: bf11a440 bf11a094 c007b11c c006a010 01000680 00400000 00000                                                                           000 00000099
[   32.446979] 5de0: dbcaa010 00000000 00000099 dd6020c0 c07b5e44 c07b5e00 bf116                                                                           b78 bf11a2c0
[   32.455610] 5e00: 0003a980 00000000 00000000 00989680 00000000 00989680 00013                                                                           880 bf138128
[   32.464239] 5e20: dbcaa010 00000000 e0902000 a00f0193 00000001 dd6020c0 c07b5                                                                           e7c c07b5e48
[   32.472868] 5e40: bf137970 bf116a60 ffff9775 00000000 c07b5eac dbc483c0 00000                                                                           022 00000000
[   32.481496] 5e60: 00000000 00000022 c083ed96 dd0052c0 c07b5eb4 c07b5e80 c0073                                                                           6a4 bf1377b8
[   32.490124] 5e80: c0080ccc c007aba0 00000001 dd0052c0 00000022 00000000 00000                                                                           022 00000001
[   32.498751] 5ea0: 413fc082 c083ed94 c07b5ecc c07b5eb8 c0073838 c007365c 00024                                                                           000 dd0052c0
[   32.507383] 5ec0: c07b5ee4 c07b5ed0 c0075bf0 c0073814 c0075b68 00000022 c07b5                                                                           efc c07b5ee8
[   32.516008] 5ee0: c0072fac c0075b74 00000110 c0811dc0 c07b5f1c c07b5f00 c0015                                                                           560 c0072f90
[   32.524641] 5f00: 00000080 fa200000 c07b5f40 c083fcd4 c07b5f3c c07b5f20 c0008                                                                           79c c0015534
[   32.533265] 5f20: c0015750 600f0013 ffffffff c07b5f74 c07b5f94 c07b5f40 c0581                                                                           c40 c0008740
[   32.541898] 5f40: ffffffed 00000000 c082e550 c00238a0 c07b4000 00000000 c07bc                                                                           104 c083ed94
[   32.550531] 5f60: 00000001 413fc082 c083ed94 c07b5f94 c07b5f88 c07b5f88 c0015                                                                           760 c0015750
[   32.559165] 5f80: 600f0013 ffffffff c07b5fac c07b5f98 c0072e68 c001572c 00000                                                                           000 c0c89080
[   32.567791] 5fa0: c07b5fbc c07b5fb0 c0578ca4 c0072e1c c07b5ff4 c07b5fc0 c075d                                                                           a50 c0578c4c
[   32.576418] 5fc0: ffffffff ffffffff c075d544 00000000 00000000 c0799a50 10c53                                                                           c7d c07bc0a8
[   32.585046] 5fe0: c0799a4c c07bfa80 00000000 c07b5ff8 80008070 c075d7b4 00000                                                                           000 00000000
[   32.593669] Backtrace:
[   32.596277] [<bf11b61c>] (musb_g_giveback+0x0/0x64 [musb_hdrc]) from [<bf11a0                                                                           a0>] (musb_g_ep0_giveback+0x18/0x1c [musb_hdrc])
[   32.608207]  r5:dbcaa010 r4:e08be500
[   32.612008] [<bf11a088>] (musb_g_ep0_giveback+0x0/0x1c [musb_hdrc]) from [<bf                                                                           11a440>] (musb_g_ep0_irq+0x18c/0x924 [musb_hdrc])
[   32.624051] [<bf11a2b4>] (musb_g_ep0_irq+0x0/0x924 [musb_hdrc]) from [<bf116b                                                                           78>] (musb_interrupt+0x124/0x95c [musb_hdrc])
[   32.635712] [<bf116a54>] (musb_interrupt+0x0/0x95c [musb_hdrc]) from [<bf1379                                                                           70>] (dsps_interrupt+0x1c4/0x2dc [musb_dsps])
[   32.647382] [<bf1377ac>] (dsps_interrupt+0x0/0x2dc [musb_dsps]) from [<c00736                                                                           a4>] (handle_irq_event_percpu+0x54/0x1b8)
[   32.658672] [<c0073650>] (handle_irq_event_percpu+0x0/0x1b8) from [<c0073838>                                                                           ] (handle_irq_event+0x30/0x40)
[   32.668958] [<c0073808>] (handle_irq_event+0x0/0x40) from [<c0075bf0>] (handl                                                                           e_level_irq+0x88/0xdc)
[   32.678501]  r4:dd0052c0 r3:00024000
[   32.682281] [<c0075b68>] (handle_level_irq+0x0/0xdc) from [<c0072fac>] (gener                                                                           ic_handle_irq+0x28/0x38)
[   32.692002]  r4:00000022 r3:c0075b68
[   32.695796] [<c0072f84>] (generic_handle_irq+0x0/0x38) from [<c0015560>] (han                                                                           dle_IRQ+0x38/0x8c)
[   32.704972]  r4:c0811dc0 r3:00000110
[   32.708756] [<c0015528>] (handle_IRQ+0x0/0x8c) from [<c000879c>] (omap3_intc_                                                                           handle_irq+0x68/0x7c)
[   32.718211]  r6:c083fcd4 r5:c07b5f40 r4:fa200000 r3:00000080
[   32.724203] [<c0008734>] (omap3_intc_handle_irq+0x0/0x7c) from [<c0581c40>] (                                                                           __irq_svc+0x40/0x54)
[   32.733508] Exception stack(0xc07b5f40 to 0xc07b5f88)
[   32.738805] 5f40: ffffffed 00000000 c082e550 c00238a0 c07b4000 00000000 c07bc                                                                           104 c083ed94
[   32.747383] 5f60: 00000001 413fc082 c083ed94 c07b5f94 c07b5f88 c07b5f88 c0015                                                                           760 c0015750
[   32.755958] 5f80: 600f0013 ffffffff
[   32.759611]  r7:c07b5f74 r6:ffffffff r5:600f0013 r4:c0015750
[   32.765566] [<c0015720>] (arch_cpu_idle+0x0/0x4c) from [<c0072e68>] (cpu_star                                                                           tup_entry+0x58/0xf4)
[   32.774878] [<c0072e10>] (cpu_startup_entry+0x0/0xf4) from [<c0578ca4>] (rest                                                                           _init+0x64/0x7c)
[   32.783818]  r7:c0c89080 r3:00000000
[   32.787587] [<c0578c40>] (rest_init+0x0/0x7c) from [<c075da50>] (start_kernel                                                                           +0x2a8/0x304)
[   32.796263] [<c075d7a8>] (start_kernel+0x0/0x304) from [<80008070>] (0x800080                                                                           70)
[   32.804022] Code: c0858a34 e1a0c00d e92dd830 e24cb004 (e5913038)
[   32.810416] ---[ end trace 1d5bb50289bc83b4 ]---
[   32.815256] Kernel panic - not syncing: Fatal exception in interrupt



BrianBrianBrian

I'm also seeing the same kernel panic message when plugging into the USB0 (OTG) port on the EVM.  Did you ever solve it?

BrianBrianBrian

#3
Just coming back to say that I solved this issue by editing the Device Tree.  Change dr_mode of usb0 in am335x-bone-common.dtsi to "peripheral" (was "host") and then recompile the dtb.  I'm not sure why, but when I tried specifying "otg", it still didn't work.

         usb@47401000 {
            status = "okay";
            dr_mode = "peripheral";   
         };

FYI, by configuring the USB0 port as peripheral in the device tree, I was able to get the ethernet-over-usb gadgets to work.

LubOlimex

Hey guys,

Thanks to Brian, this issue should now be fixed as long as you compile the image from sources. The problem with the USB should now be fixed with this commit: https://github.com/OLIMEX/linux-3.12.10-ti2013.12.01-am3352_som/commit/2db3193fa254a50ef1f1b233bbcce5035fecc6af

Best regards,
Lub/OLIMEX
Technical support and documentation manager at Olimex