First of all, both FX30 3G and FX30 LTE works well.
The issue is seen only in MangOH Red b/d. The only issue in MangOH b/d is the USB2Serial data communication. Anything else works well - 1) bring-up, 2) flashing the latest FW, 3) AT command access through /dev/ttyAT, 4) LTE cellular connection with Zipit AT&T test SIM, 5) IP connection and operation over the underlying cellular connection
Let me share more about USB2Serial communication failure issue in MangOH b/d.
Renfell USB Host IoT Expansion Card isn’t detected or recognized through MangOH IoT b/d slot.
In FX30 LTE b/d,
I could see the following kernel log when USB host card is inserted into FX30 LTE b/d
diag: USB channel diag connected
msm_otg 78d9000.usb : Avail curr from USB = 500
….
QTI : USB tethered modem SMD port opened
QTI : ECM mode
QTI : LINK_UP Processed
QTI : LINK_UP message_posted.
However no kernel log change when USB host card is inserted into MangOH b/d and doesn’t work at all.
2) The FTDI device connection/recognition through USB Host connector in MangOH b/d is OK. However the data communication through USB2Serial driver makes the communication error – TTY_BREAK is seen continuously at ftdi_sio driver level(FTDI_RS_BI). it generates NULL data report to the upper layer. It isn’t seen in FX30 LTE b/d. It is suspected that USB3503 Hub connection on MangOH b/d is different from the USB logic in FX30 LTE b/d. We’d like to compare the USB logic between MangOH b/d and FX30 LTE b/d.
Does anybody have the similar experience?
I also wonder if MangOH Red b/d specific device tree configuration(dts, dtsi etc.) and kernel configuration to load all the necessary drivers especially the external USB Hub chip(USB3503). I managed to load usb3503 driver by adding dts entry and kernel config but it seems it doesn’t work as well.
So basically you are saying the mangOH Red doesnt detect the Renfell card? Is that a correct understanding?
What is the firmware and legato version you are using on Red?
I’m using “FW : SWI9x06Y_02.16.06.000 7605a6 jenkins 2018/06/20 build”.
I’m not using Legato framwork. I made the python 3.5 application in FX30 LTE rootFS and run my python application on it. I want to port this application framework with the minimal change onto MangOH Red b/d.
If I can use the USB host in MangOH b/d, I prefer to do it instead of using Renfell USB Host expansion.
To do that, I need the full yocto which is correctly configured in kernel/driver for MangOH b/d. That will be definitely what I need.
Ok.
Can you provide failure message you see when it fails?
Just let you know, we dont see any failure. So not really sure what your failure mechanism is.
Reading the data from ftdi_sio gives the continuous “TTY_BREAK” errors as described previously. That makes NULL data stream. Did you describe your test setup/enviroment in detail? I used USB host port at MangOH b/d and the external device that has FT230x chip. Writing is OK but reading makes continuous “TTY_BREAK” errors. from USB control packet[1] - FTDI_RS_BI.
Ok. I connected a FTDI converter to the USB host. Red can detect the FTDI chipset. What command are you running next and what is the failure?
Jan 6 00:09:38 swi-mdm9x28-wp user.info kernel: [ 575.220326] usb 1-1.3: USB disconnect, device number 5
Jan 6 00:09:40 swi-mdm9x28-wp user.info kernel: [ 577.760130] usb 1-1.3: new full-speed USB device number 7 using msm_hsic_host
Jan 6 00:09:40 swi-mdm9x28-wp user.info kernel: [ 577.871694] usb 1-1.3: New USB device found, idVendor=067b, idProduct=2303
Jan 6 00:09:40 swi-mdm9x28-wp user.info kernel: [ 577.871712] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Jan 6 00:09:40 swi-mdm9x28-wp user.info kernel: [ 577.871724] usb 1-1.3: Product: USB-Serial Controller D
Jan 6 00:09:40 swi-mdm9x28-wp user.info kernel: [ 577.871736] usb 1-1.3: Manufacturer: Prolific Technology Inc.
Also on the IOT car, I inserted a FTDI IoT card and it was detected right away:
Jan 6 00:08:39 swi-mdm9x28-wp user.info kernel: [ 516.321010] usb 1-1.2: new full-speed USB device number 6 using msm_hsic_host
Jan 6 00:08:39 swi-mdm9x28-wp user.info kernel: [ 516.448415] usb 1-1.2: New USB device found, idVendor=0403, idProduct=6015
Jan 6 00:08:39 swi-mdm9x28-wp user.info kernel: [ 516.448436] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jan 6 00:08:39 swi-mdm9x28-wp user.info kernel: [ 516.448447] usb 1-1.2: Product: FT231X USB UART
Jan 6 00:08:39 swi-mdm9x28-wp user.info kernel: [ 516.448458] usb 1-1.2: Manufacturer: FTDI
Jan 6 00:08:39 swi-mdm9x28-wp user.info kernel: [ 516.448469] usb 1-1.2: SerialNumber: D306DV3B
In the first description of the issue, I already told the recognition of FTDI device via USB host port of MangOH b/d is OK. Again the data reading from ftdi_sio driver makes the continuous TTY break error. The data are being sent from the connected FTDI device through USB signal and USB driver of MangOH b/d packetized the USB signal and forward them to usbserial/ftdi_sio driver. Eventually usbserial/ftdi_sio driver copy the data to the user space buffer of the user space application who access TTYUSB# port.
Anyway based on our discussion over the call, I will investigate the different behavior of the loop between the console USB and USB host on MangOH b/d and try to use the battery power source instead.
Thanks!
We’ve already tested the different power source but it also showed the same result.
I’m now working on the programming ext. USB Hub IC - USB3503 by I2C through some kernel driver hack.
Weird enough, the loop back test of USB console that has FTDI chip and USB host port of the MangOH b/d and the same test with two MangOH b/d didn’t show the issue. The issue only happens between USB host port of the MangOH b/d and our wearable device FTDI USB. But the communication between FX30 with USB Host IoT card and our wearable device FTDI USB is OK. The only difference is 3 ports are connected to USB3503 IC in MangOH b/d and in FX30, only one port is connected to USB3503 IC. The other issue is, in MangOH b/d, Renfell USB host IoT card isn’t recognized.
It’s really not understandable yet and all the assumptions about the root cause have been verified false…
By the way, can you let me know how to program USB3503 Hub IC via I2C? what’s the compatible register address of mdm9607 of I2C1 of wp7702? Can you let me know to do it by the proper dts configuration and I2C mux - TCA9536A control?
It works! Now Renfell USB host card is recognized and announced correctly.
However I could see the same issue in reading data from ftdi_sio driver like as USB host connector on the MangOH b/d…