Imx6ull USB - GSM Modem

Hi,

I am using some custom hardware and am attempting to connect a Quectel EC21 modem via the USB port.

With the modem not connected i get

root@colibri-imx6ull:~# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I believe this is showing that my device tree has successfully initiated the host usb device.

When i then connect the GSM modem to the USB port i get

root@colibri-imx6ull:~# lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@colibri-imx6ull:~# [   73.444264] usb 1-1: new high-speed USB device number 6 using ci_hdrc
[   73.614238] usb 1-1: device no response, device descriptor read/64, error -71
[   73.894240] usb 1-1: device no response, device descriptor read/64, error -71
[   74.164231] usb 1-1: new high-speed USB device number 7 using ci_hdrc
[   74.334304] usb 1-1: device no response, device descriptor read/64, error -71
[   74.614244] usb 1-1: device no response, device descriptor read/64, error -71
[   74.734380] usb usb1-port1: attempt power cycle
[   75.224215] usb 1-1: new high-speed USB device number 8 using ci_hdrc
[   75.674220] usb 1-1: device not accepting address 8, error -71
[   75.824291] usb 1-1: new high-speed USB device number 9 using ci_hdrc
[   76.274247] usb 1-1: device not accepting address 9, error -71
[   76.280357] usb usb1-port1: unable to enumerate USB device

Question : Is this just showing that the USB device has been detected but there is no driver installed ?
(Trying to figure out if i have to fix the device tree OR install a driver in the kernel build)

Greetings @adrian!

Can you please provide the version of your module and also the carrier board (with the respective version) you’re using?

I am using the Colibri IMX6ULL WIFI module
I am using my own carrier board, however the USB connections are the same pins as the viola carrier board

The connections i have are

USBH_P - Pin 139 = Connected to Modem
USBH_N - Pin 141 = Connected to Modem
USB_P_EN - Pin 129 = Not connected
USB_OC - Pin 131 = Connected to 3V3

The processor controls the power supply to this GSM module

@adrian,

Does the same modem work on a Toradex carrier board such as the Viola?

Error 71 means protocol error, which can be due to many things, including signal integrity issues. Are the USB data traces on your board correctly impedance matched? Does any other USB device work on the same port (a keyboard, an USB drive, etc)?

The modem fits into a mini-pci socket and i do not have a usb socket on my board so it is difficult to test with a mouse etc

My plan is now to populate a board with the modem and power supply and attach a usb lead so then i can see what happens with the viola board.

@adrian,

I think your plan is reasonable. This will certainly clarify whether it’s a software/kernel space issue or a hardware one.

Please let us know of your results.

So it was a hardware issue.

Connecting my hardware to a windows PC gave me issues on the USB connection.

I had missed off pull down resistors on the data lines

Once added the windows PC and now the Toradex module detect the modem.

@adrian,

Glad you solved this! Do not hesitate to contact us again in case you have any issues.