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 = <®_usb_otg1_vbus>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usbotg1>;
disable-over-current;
srp-disable;
hnp-disable;
adp-disable;
status = "okay";
};
&usbotg2 {
vbus-supply = <®_usb_otg2_vbus>;
dr_mode = "host";
disable-over-current;
status = "okay";
};
Solved! Go to Solution.
Thanks for the info Igor.
The issue was solved using "modprobe g_serial" the board is now detected by the PC.
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!
-----------------------------------------------------------------------------------------------------------------------
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.
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
Oh.. can the usb port be configured to gadget mode though? so that the device can at least be detected by the PC
yes, but only in linux.
Best regards
igor
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
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
Thanks for the info Igor.
The issue was solved using "modprobe g_serial" the board is now detected by the PC.