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
I guess this might be it,
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/usb/gadget_serial.txt?id=HEAD
I'm also seeing the same kernel panic message when plugging into the USB0 (OTG) port on the EVM. Did you ever solve it?
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.
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 (https://github.com/OLIMEX/linux-3.12.10-ti2013.12.01-am3352_som/commit/2db3193fa254a50ef1f1b233bbcce5035fecc6af)
Best regards,
Lub/OLIMEX