I am trying to test the QMI mode on MC7710, but I am always getting “Unable to find device…”
when running Connection Manager sample application.
I am using SLQS03.00.02, binary only version.
I have compiled GobiSerial and GobiNet successfully. I switched MC7710 to QMI mode and
loaded modules and I get:
GobiSerial 1-1.3:1.0: GobiSerial converter detected
usb 1-1.3: GobiSerial converter now attached to ttyUSB0
GobiSerial 1-1.3:1.2: GobiSerial converter detected
usb 1-1.3: GobiSerial converter now attached to ttyUSB1
GobiSerial 1-1.3:1.3: GobiSerial converter detected
usb 1-1.3: GobiSerial converter now attached to ttyUSB2
usb0: register 'GobiNet' at usb-isp1761.0-1.3, QmiNet Ethernet Device, 2a:60:5c:bb:1d:ca
creating qcqmi0
I have checked that all three /dev/ttyUSB[0-2] are working and also created /dev/qcqmi0 with
proper major and minor numbers.
I have copied connectionmgrarm and slqssdk on my target and when I run:
> ./connectionmgrarm SDK/build/bin/arm/slqssdk
Unable to find device..
I also tried using strace on both binaries, but I cannot find any open system call
to /dev/ttyUSBX or /dev/qcqmix.
Went trough “Linux QMI SDK Application Developer Guide.pdf” but it seems I have
done everything right, well except for building the SDK since I do not have the
source code.
tried as you suggested, but the results are still the same.
As said before, when using ‘strace’ ob both binaries, I didn’t see
any references to /dev/qcqmi0 or /dev/ttyUSB0.
This is almost always to do with permissions for the /dev/qcqmi interfaces for the currently logged in user. Assuming you have compiled your GobiSerial and GobiNet interfaces into your system and subsequently have the corresponding /dev/ttyUSB and /dev/qcqmi interface(s) send the below command
ls -l /dev/qcqmi*
sudo chmod 777 /dev/qcqmi
If the first command does not return something like the below then it means you do not have full read write permissions to the interface over which the QMI protocol needs to flow meaning the SDK cannot find the device, hence the response.
It does indeed appear to be a permission thing. I was able to resolve it by rebuilding and installing the Gobi* driver modules as root. Issuing the build commands using “sudo” was not sufficient possibly due to some pipes in the make commands. I used “sudo bash” to create a root shell and then issued the make; make install commands for both drivers. The /dev/qcqci0 device is still showing crw------- permissions, but many other device nodes have similar perms and it seems to be working.
Now running “sudo conman slqssdk 0” is working as expected. I can initiate an LTE session and server up a test video file.
Thank you for posting this! I’ve been chasing my tail trying to just get one working example going. The “sudo bash” and rebuild/install drivers fixed my problems.