[ help ] [ MC7430 ] USB ioctl open error: Permission denied


#1

Hi,

I have been trying to get MC7430 interface with the my x86_64 laptop on Ubuntu 16.04.
I followed the guidelines as per “Linux QMI SDK Application Developer Guide” - https://source.sierrawireless.com/resources/airprime/software/linux-qmi-sdk-application-developer-guide-1,-d-,26/
I removed the interfering modules and installed GobiNet and GobiSerial just fine.

I am trying the SampleAppication from the Full API SDK https://source.sierrawireless.com/resources/airprime/software/linux-qmi-sdk-software-04,-d-,00,-d-,06/
No matter what application I try I the SDK is unable to enumerate the device and get its parameters (Device file and key)
I get the error from the application

The syslog has following to say

I have added myself to the usergroup dialout, thinking it’s the issue of the permissions, but it seems that is not enough.
Could you guys please help me out in this regard ?


#2

Hi,

It is the permissions that the current log in has with regards the /dev/qcqmi interfaces. You can either login as root (this might not be enough or send the below command to give yourself full rights.

sudo chmod 777 /dev/qcqmi*

Regards

Matt


#3

Hey Matt,

Thanks. I fixed the permission issue. I have observed another behaviour worth sharing here.
This is when we reconnect the device over USB. (Plug out the device and plug it back in). I believe the SDK threads are already initialised and and they take a while before recognising the device when it’s plugged back in. Somehow I think the SDK threads have a polling procedure to refresh their device contexts. Or there is some delay in the system that’s not letting SDK threads to recognise the device in it’s new context early enough. I get the message “Unable to find device…” for a while even though the device files have been created and I can AT into the serial terminal, and then device gets recognised.


#4

So just to be clear on the procedure.

  1. Unit plugged in working with the SDK no isses.
  2. Unplug the unit, /dev/ttyUSB and /dev/qcqmi interfaces disappear from the system.
  3. When the interfaces disappear you see what on your system? There are API’s designed to notify you of the loss of a device.
  4. Plug the unit back in, /dev/ttyUSB and /dev/qcqmi interfaces re enumerate back to the device numbers they previously had.
  5. At this point what are you seeing expecting the SDK to do?

Regards

Matt