Hi All,
I am trying to operate my board is in USB host mode i configured the kernel config but my device is not detecting the any devices i am connecting and lsusb is showing only the root hubs. I am using ID 12d1:1c20 Huawei Technologies Co., Ltd.
can anyone please tell me how to do that.
FYR : Board :similar to imx6- sabresd
Kernel version: 3.0.35
log is here
FEC Ethernet Driver
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
PPP MPPE Compression module registered
NET: Registered protocol family 24
SLIP: version 0.8.4-NET3.019-NEWTTY (dynamic channels, max=256).
usbcore: registered new interface driver asix
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
cdc_ncm: 04-Aug-2011
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 75, io base 0x02184000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Freescale On-Chip EHCI Host Controller
usb usb1: Manufacturer: Linux 3.0.35-2666-gbdde708-svn251 ehci_hcd
usb usb1: SerialNumber: fsl-ehci.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
add wake up source irq 72
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 72, io base 0x02184200
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: Freescale On-Chip EHCI Host Controller
usb usb2: Manufacturer: Linux 3.0.35-2666-gbdde708-svn251 ehci_hcd
usb usb2: SerialNumber: fsl-ehci.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
usbcore: registered new interface driver cdc_acm
cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for GSM modem (1-port)
usbcore: registered new interface driver option
option: v0.7.2:USB Driver for GSM modems
ARC USBOTG Device Controller driver (1 August 2005)
my_batt_ext_power_changed!
It is not usb supply!
input: gpio-keys as /devices/platform/gpio-keys/input/input0
snvs_rtc snvs_rtc.0: rtc core: registered snvs_rtc as rtc0
i2c /dev entries driver
Thanks & Regards,
Lavanya
已解决! 转到解答。
Hi igorpadykov ,
I got that in board file in kernel menuconfig
CONFIG_USB_EHCI_ARC_OTG=y
CONFIG_USB_OTG = n
CONFIG_USB_GADGET = n (bcz we need to select either host mode or device mode only one)
and in board file i did below changes
/* keep USB host1 VBUS always on */
/* ret = gpio_request(SABRESD_USB_H1_PWR, "usb-h1-pwr");
if (ret) {
pr_err("failed to get GPIO SABRESD_USB_H1_PWR: %d\n",
ret);
return;
}
gpio_direction_output(SABRESD_USB_H1_PWR, 0);
if (board_is_mx6_reva()) {
mxc_iomux_set_gpr_register(1, 13, 1, 1);
printk("Lavanya: 1 value\n");
}
else {
mxc_iomux_set_gpr_register(1, 13, 1, 0);
printk("Lavanya: 0 value\n");
}
printk("Vishwa: USB power enable\n\n\n"); */
// gpio_set_value(FS_USB_OTG_PWR, 1);
mxc_iomux_set_gpr_register(1, 13, 1, 1); (1 : USBOTG_ID)
gpio_set_value(FS_USB_OTG_PWR,0);
// mx6_set_otghost_vbus_func(imx6q_sabresd_usbotg_vbus);
// mx6_set_host1_vbus_func(imx6q_sabresd_host1_vbus);
Now i am able to get my device details in lsusb.
Thanks & Regards,
Lavanya
Hi Bandaru
please check that usb ID signal is low, as for software please
check attached Linux Manual Chapter 40 CHIPIDEA USB Driver,
sect.40.2.6 Changing the Controller Operation Mode
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi igorpadykov ,
I am working on 3.0.35 kernel version so i don't have DTS file support, so is there any other way .
Hi igorpadykov ,
I got that in board file in kernel menuconfig
CONFIG_USB_EHCI_ARC_OTG=y
CONFIG_USB_OTG = n
CONFIG_USB_GADGET = n (bcz we need to select either host mode or device mode only one)
and in board file i did below changes
/* keep USB host1 VBUS always on */
/* ret = gpio_request(SABRESD_USB_H1_PWR, "usb-h1-pwr");
if (ret) {
pr_err("failed to get GPIO SABRESD_USB_H1_PWR: %d\n",
ret);
return;
}
gpio_direction_output(SABRESD_USB_H1_PWR, 0);
if (board_is_mx6_reva()) {
mxc_iomux_set_gpr_register(1, 13, 1, 1);
printk("Lavanya: 1 value\n");
}
else {
mxc_iomux_set_gpr_register(1, 13, 1, 0);
printk("Lavanya: 0 value\n");
}
printk("Vishwa: USB power enable\n\n\n"); */
// gpio_set_value(FS_USB_OTG_PWR, 1);
mxc_iomux_set_gpr_register(1, 13, 1, 1); (1 : USBOTG_ID)
gpio_set_value(FS_USB_OTG_PWR,0);
// mx6_set_otghost_vbus_func(imx6q_sabresd_usbotg_vbus);
// mx6_set_host1_vbus_func(imx6q_sabresd_host1_vbus);
Now i am able to get my device details in lsusb.
Thanks & Regards,
Lavanya
Hi,
In which file we need to add below code
/* keep USB host1 VBUS always on */
/* ret = gpio_request(SABRESD_USB_H1_PWR, "usb-h1-pwr");
if (ret) {
pr_err("failed to get GPIO SABRESD_USB_H1_PWR: %d\n",
ret);
return;
}
gpio_direction_output(SABRESD_USB_H1_PWR, 0);
if (board_is_mx6_reva()) {
mxc_iomux_set_gpr_register(1, 13, 1, 1);
printk("Lavanya: 1 value\n");
}
else {
mxc_iomux_set_gpr_register(1, 13, 1, 0);
printk("Lavanya: 0 value\n");
}
printk("Vishwa: USB power enable\n\n\n"); */
// gpio_set_value(FS_USB_OTG_PWR, 1);
mxc_iomux_set_gpr_register(1, 13, 1, 1); (1 : USBOTG_ID)
gpio_set_value(FS_USB_OTG_PWR,0);
// mx6_set_otghost_vbus_func(imx6q_sabresd_usbotg_vbus);
// mx6_set_host1_vbus_func(imx6q_sabresd_host1_vbus);
my board is imx6qdlsabreauto. Pls let me know path to add above code to make USB working.
Regards,
Sanjeev