USB driver failing to find or power USBs


#1

Hello,

We have purchased ~10 mangoh reds for building IoT devices, and have been trying to enable a wifi access point. We tried to use the out of the box wifi, but it seems like development is not yet complete on those drivers: MangOH Red , wifi client start failed and the executable fails:

root@swi-mdm9x15:~# wifi client start
ERROR: le_wifiClient_Start returns ERROR.

To work around this, we purchased some 300M Wireless USB adapters, but whenever we run lsusb, we get an error. We have tried lsub with at least 10 types of USBs, ranging from smart card readers to storage, all receive this error:

root@swi-mdm9x15:~# lsusb
unable to initialize libusb: -99

Those USBs with LEDs that light up when plugged into a traditional computer do not light up when connected to the mangoh. We checked the USB pins and they are receiving power. It seems as if the USB driver is not working.

Unfortunately, unlike this post here: Lsusb does not work on a brand-new mangOH Red from a box our device does not start working after plugging in any special USB dongles.

Is this a known issue? Are there any other mangoh red owner’s who have experienced this problem?

Thank you for the help in advance!


#2

We will be releasing tutorial for WP76 and mangOH Red WiFi in mid-Feb.
In meantime you can use the IoT WiFi card that has built in support .
https://www.digikey.com/product-detail/en/talon-communications-inc/MIRAGE-PIFA/1788-1008-ND/7243279


#3

Asyal,

Thank you for that suggestion. We have ordered that, but we still would like to use our USB slot for other purposes. Is the lsusb issue a known issue or is there a solution you have come across?


#4

The lsusb problem is known. I am not sure why it hasn’t been resolved yet as it has existed for a long time.


#5

@asyal and @dfrey,

I went with your suggestion and purchased the IoT WiFi Card. Unfortunately, the board is failing to start and the LED is not powering on:

The issue is that the wifi board is simply not being found/powered. This is happening on all of our Reds. It DOES work on the Green. But it is very important that it works on the red. What could be the issue?

root@swi-mdm9x15:~# wifi client start
successfully called start. //Not actually starting
root@swi-mdm9x15:~# app status
[running] atClient
[running] atServer
[running] audioService
[running] avcService
[running] cellNetService
[running] dataConnectionService
[running] fwupdateService
[running] gpioService
[running] modemService
[running] positioningService
[running] powerMgr
[running] secStore
[stopped] smsInboxService
[stopped] spiService
[stopped] tools
[stopped] voiceCallService
[stopped] wifi . //Not running
[stopped] wifiApTest
[stopped] wifiClientTest
[running] wifiService
[stopped] wifiWebAp

According the wifi driver tutorial here: http://mangoh.io/wifi-expansion-card states “The Wi-Fi LED on the Wi-Fi expansion card turns ON” - This is not the case. There is no indication that the command worked, as the app is off and the light is not on.

Passing this, I perform the next step “wifi client scan” and get the following result:

starting scan.
DEBUG: le_wifiClient_GetFirstAccessPoint ERROR

Here are the logs for both commands repeated one after the other:

wifi client start:

Jan 2 16:49:10 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Jan 2 16:49:10 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Jan 2 16:49:10 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c le_wifiClient_Start() 560 | Client starts
Jan 2 16:49:10 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_Start() 557 | Sending response to client session 0x27d3c : 4 bytes sent
Jan 2 16:49:11 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27d3c GetFirstSessionRef (nil)
Jan 2 16:49:11 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!
Jan 2 16:49:11 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!

wifi client scan:

Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (10).
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | LE_FILENAME ExtractFileDescriptor() 33 | Received fd (11).
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c le_wifiClient_AddNewEventHandler() 508 | Add new event handler
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_AddNewEventHandler() 461 | Sending response to client session 0x27cac : 4 bytes sent
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c IsScanRunning() 430 | IsScanRunning .0
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c le_wifiClient_Scan() 639 | Scan started
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_Scan() 641 | Sending response to client session 0x27cac : 4 bytes sent
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=WiFi Client Scan Thread | LE_FILENAME PThreadStartRoutine() 362 | Set nice level to 0.
Jan 2 16:50:00 swi-mdm9x15 user.info Legato: INFO | wifiService[522]/daemon T=WiFi Client Scan Thread | pa_wifi_client_ti.c pa_wifiClient_Scan() 419 | Scanning
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=WiFi Client Scan Thread | le_wifiClient.c MarkAllAccessPointsOld() 317 | Mark all AP as old
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=WiFi Client Scan Thread | le_wifiClient.c MarkAllAccessPointsOld() 346 | Marked: 0
Jan 2 16:50:00 swi-mdm9x15 user.info Legato: INFO | wifiService[522]/daemon T=WiFi Client Scan Thread | pa_wifi_client_ti.c pa_wifiClient_GetScanResult() 484 | Scan results
Jan 2 16:50:00 swi-mdm9x15 user.info Legato: INFO | wifiService[522]/daemon T=WiFi Client Scan Thread | pa_wifi_client_ti.c pa_wifiClient_GetScanResult() 504 | PARSING:WIFICLIENT_START_SCAN : len:22
Jan 2 16:50:00 swi-mdm9x15 user.err Legato: =ERR= | wifiService[522] | command failed: No such device (-19)
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=WiFi Client Scan Thread | le_wifiClient.c ScanThreadDestructor() 395 | Scan thread exited.
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=WiFi Client Scan Thread | le_wifiClient.c PaEventHandler() 118 | Event: 2
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c FirstLayerWifiClientEventHandler() 452 | Event: 2
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c AsyncResponse_le_wifiClient_AddNewEventHandler() 398 | Sending message to client session 0x27cac : 8 bytes sent
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c IsScanRunning() 430 | IsScanRunning .0
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c le_wifiClient_GetFirstAccessPoint() 681 | Get first AP
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c le_wifiClient_GetFirstAccessPoint() 700 | AP not found
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_GetFirstAccessPoint() 683 | Sending response to client session 0x27cac : 4 bytes sent
Jan 2 16:50:00 swi-mdm9x15 user.err Legato: =ERR= | wifi[7459]/wifi T=main | wifi_client.c WifiReadScanResults() 123 | le_wifiClient_GetFirstAccessPoint ERROR
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c le_wifiClient_RemoveNewEventHandler() 538 | Remove event handler
Jan 2 16:50:00 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c Handle_le_wifiClient_RemoveNewEventHandler() 515 | Sending response to client session 0x27cac : 0 bytes sent
Jan 2 16:50:01 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/daemon T=main | le_wifiClient.c CloseSessionEventHandler() 414 | sessionRef 0x27cac GetFirstSessionRef 0x27cac
Jan 2 16:50:01 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiClient_server.c CleanupClientData() 195 | Client 0x27cac is closed !!!
Jan 2 16:50:01 swi-mdm9x15 user.debug Legato: DBUG | wifiService[522]/framework T=main | le_wifiAp_server.c CleanupClientData() 195 | Client 0x27d3c is closed !!!

Do you have any idea why the IoT expansion card is not starting properly on the MangohRed?

Just for clarification, the Versions are up to date according to the tutorial(although it is a mangoh Green tutorial):

root@swi-mdm9x15:~# fwupdate query
Connecting to service …
Firmware Version: SWI9X15Y_07.12.09.00 r34123 CARMD-EV-FRMWR1 2017/04/26 23:34:19
Bootloader Version: SWI9X15Y_07.12.09.00 r34123 CARMD-EV-FRMWR1 2017/04/26 23:34:19
Linux Version: 3.14.29ltsi-961ca71325_ab5094eade #2 PREEMPT Thu Apr 27 02:17:10 PDT 2017
root@swi-mdm9x15:~# legato version
16.10.3_7776bb75a488e0db67b0d24975b46dd0

I believe it comes down to the wifi board not being recognized on the Red. Any suggestions? Thanks!


All wifi commands failing with Mirage board
#6

@asyal , is this a known bug?


#7

Hey Rauger1, is there any play on the IOT board in the amphenol connector? We had some IoT boards made and we found we weren’t getting a very good connection inside of the amphenol connector. As a result I had to add nylon washers under the board to prop the IOT board up slightly when it’s screwed on… This would force some contact.

I’m assuming this is likely not your problem, but it may be worth a quick test to check.


#8

Hi @coastalbrandon,

We took your suggestion and set the board to the left and right of the amphenol connector to no luck. Then we tried with a small piece of rubber underneath the board like your nylon washers and that did not help. We have a board that plugs into the amphenol which contains LEDs and small speakers that we can power from the board that does work, so the amphenol connector is not the issue.