Usb not acting as otg in imx6slevk

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Usb not acting as otg in imx6slevk

Jump to solution
1,406 Views
sujay1
Contributor V

I'm using an imx6slevk board with yocto bsp, after flashing the images.

There is a USB b type port which I use to connect to my linux PC and I use:

lsusb
for which I get:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 05e3:0745 Genesys Logic, Inc. Logilink CR0012
Bus 001 Device 003: ID 046d:c31d Logitech, Inc. Media Keyboard K200
Bus 001 Device 005: ID 8087:0a2a Intel Corp.
Bus 001 Device 002: ID 17ef:602e Lenovo
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

now I changed from boot mode to flash mode and did the same and I get

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 05e3:0745 Genesys Logic, Inc. Logilink CR0012
Bus 001 Device 025: ID 15a2:0063 Freescale Semiconductor, Inc.
Bus 001 Device 003: ID 046d:c31d Logitech, Inc. Media Keyboard K200
Bus 001 Device 005: ID 8087:0a2a Intel Corp.
Bus 001 Device 002: ID 17ef:602e Lenovo
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


as you can see an extra line is present

I would like the board to be detected even in boot mode so that I can transfer files to my board.

I've tried to enable USB_CDC in menuconfig but it has no effect on the output what should I enable for the board to be detected by linux PC using lsusb?

I've attached  the dmsg of the board.

this is my dts for usb

&usbotg1 {
 vbus-supply = <&reg_usb_otg1_vbus>;
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_usbotg1>;
disable-over-current;
 srp-disable;
hnp-disable;
adp-disable;
status = "okay";
};

 &usbotg2 {
 vbus-supply = <&reg_usb_otg2_vbus>;
 dr_mode = "host";
 disable-over-current;
 status = "okay";
 };

Labels (2)
0 Kudos
1 Solution
1,186 Views
sujay1
Contributor V

Thanks for the info Igor.

The issue was solved using "modprobe g_serial" the board is now detected by the PC.

View solution in original post

0 Kudos
8 Replies
1,186 Views
igorpadykov
NXP Employee
NXP Employee

Hi Sujai

one can try with usb unit tests

doc\mxc_usb_test\test - imx-test - i.MX Driver Test Application Software 

and check sect.39.2.9 USB OTG HNP and SRP Support attached Linux Manual.

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos
1,186 Views
sujay1
Contributor V

Hi Igor

I tried that already (enabling srp and hnp) but there's no difference, I expect the linuxpc to detect my board as a mass storage device but the pc doesn't even detect the board. 

0 Kudos
1,186 Views
igorpadykov
NXP Employee
NXP Employee

Hi Sujay

if board is in "boot mode" (Serial Downloader)

processor ROM runs only Serial Downloader protocol and

"mass storage device" protocol is not possible in such case.

Best regards
igor

0 Kudos
1,186 Views
sujay1
Contributor V

Oh.. can the usb port be configured to gadget mode though? so that the device can at least be detected by the PC

0 Kudos
1,186 Views
igorpadykov
NXP Employee
NXP Employee

yes, but only in linux.

Best regards
igor

0 Kudos
1,186 Views
sujay1
Contributor V

on further digging I found:

cat /sys/kernel/debug/usb/devices

T: Bus=01 Lev=00 Prnt=00 Port=0
0 Cnt=00 Dev#= 1 Spd=480 MxCh= 1
B: Alloc= 0/800 us ( 0%), #
Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 4.09
S: Manufacturer=Linux 4.9.88-imx_4.9.88_2.0.0_ga+g5e23f9d61147 ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=ci_hdrc.2
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

I think if Product was Gadget Serial It would work (https://www.kernel.org/doc/Documentation/usb/gadget_serial.txt )

Should I create a new thread to question how to change this? or can I expect an answer on this one.

Thanks

0 Kudos
1,186 Views
igorpadykov
NXP Employee
NXP Employee

so had you tried FSL-UT-USB-004-Gadget-Mass-Storage test:

FSL-UT-USB-004.txt\doc\mxc_usb_test\test - imx-test - i.MX Driver Test Application Software 

with Demo Images from i.MX Software | NXP 

Best regards
igor

0 Kudos
1,187 Views
sujay1
Contributor V

Thanks for the info Igor.

The issue was solved using "modprobe g_serial" the board is now detected by the PC.

0 Kudos