MC7304 on Linux 2.4.27


#1

I was asked to replace current MC8775 with MC7304, old Linux driver supports MC8775, but not support MC7304.

I saw MC7304 has more than 18 interfaces, what I needed was check modem’s signal strength, set up modem a APN, then try get IP from modem, send and receive data from Linux with a ppp session.

Please anyone help me on guiding what need to do to get started??

Thanks


#2

Hi,

Not sure where you get the 18 interfaces from but in the default config the unit will enumerate with two QMI ports (which will show up differently depending on the drivers in your system) and three /dev/ttyUSB ports, the last of these to enumerate is the AT port. Unlike the previous generations the MC73 does not have a separate port to run a PPP session and one to run the AT commands, they are one and the same which is a limitation if you want to do both at the same time.

Doing a PPP session with the open source drivers might work but I would recommend building the Sierra GobiSerial and GobiNet ones ones into your system.

Other than that it is going to be the same AT commands to do what you have stated below.

Regards

Matt


#3

Hi Matt,
Thank you for your reply. I am using Linux kernel 2.4.27. I have updated usbserial.c to create a driver for MC7304, it probe for 6 interfaces. I created 6 serial ports for them.
While port 2 can accept at command, like following:
ati9

Manufacturer: Sierra Wireless, Incorporated
Model: MC7304
Revision: SWI9X15C_05.05.58.00 r27038 carmd-fwbuild1 2015/03/04 21:30:23
IMEI: xxxxxxxxxxxxxxxxxxxxx
IMEI SV: xx
FSN: xxxxxxxxxxxxxxx
+GCAP: +CGSM,+DS,+ES

but other than that, looks like following at commands are not working, except AT+CGDCONT:
at+csq
ERROR
at+cgreg?
ERROR
at+cgatt=1
ERROR
at+cgdcont=1,“ip”,“telstra.internet”
OK
at+cgact=1,1
ERROR
at+cgpaddr=1
ERROR
AT+CGREG?
ERROR
AT+CGATT=1
ERROR
AT+CGACT=1,1
ERROR
AT+CGPADDR=1
ERROR


#4

Hi,

Can you send the following to the unit.

ati
at+cmee=1
at+cpin?
at+cops=?

#5

Hi,

Can you send the following to the unit.

[code]
ati
at+cmee=1
at+cpin?
at!gstatus?
at+cops?
at+cops=? This one will take a couple of minutes to complete
/code]

Regards

Matt


#6

Hi Matt,
Thank you for your reply, I managed to get AT command port working, now I am using it set up PPP session, I can get IP address on ppp0.
The issue is during ppp in session, I can 't send AT+CSQ to get signal strength?


#7

Hi,

If doing PPP then, yes, this is an issue.

To get around it you need to use the directIP like interface then as per the attached then.

Regards

Matt
SWI Technical Note - Migration from DirectIP to RMNet on MC73xx Rev002.docx (347 KB)


#8

Hi Matt,
Thanks for your reply.

So after following AT commands on AT command port:
AT+CGDCONT=1,“IP”,“telstra.corp”
AT$QCPDPP=1,1,“pass”,“user”
AT!SCACT=1,1

I should be able to get IP data from one of the USB interfaces on MC7304, I used interface 3 to send above AT commands:
0: DIAG
2: NMEA
3: MODEM
8: RMNET1
10: RMNET2
11: RMNET3

So data will come out from 8, 10, or 11, which one?
I will try port sierra_net.c to 2.4.27 kernel.
Before porting, does MC7304 support direct IP?


#9

Hi,

MC7304 does not support DirectIP, it uses a different protocol RMNet, you do not need to worry about this if you build the GobiSerial and GobiNet drivers into your system as per the note, it to all intents and pruposes looks like DirectIP.

https://source.sierrawireless.com/~/media/support_downloads/airprime/software/sierralinuxqmidrivers.s2.30n2.48.tar.ashx

Assuming the unit is in the default config when it enumerates to the system you will three /dev/ttyUSB, two /dev/qcqmi and two corresponding eth interfaces (run ifconfig). When you start the data session up the data will be routed through one of these, depending on how your systemis setup (whether you have network manager running or not) depends on whether you will need to send ‘dhclient xxx’ to populate the interface fields. At this point you just use the LTE connection as an Ethernet interface just like with DirectIP.

Regards

Matt


#10

Hi Matt,
Really appreciate your help.

Has anyone back port GobiNet and GobiSerial driver to Kernel 2.4.27?

Regards


#11

Hi Matt,
If I have ported GobiNet to Linux 2.4.27, how to use it?
What’s the command to set up internet connection by using this driver?

Thanks and Regards


#12

Assuming the unit is in its default state with the RMNet interfaces enabled and you have ported the drivers correctly so that you see some /dev/qcqmi interfaces and some additional Ethernet interfaces the easiest way is to connect as per the attached.

Regards

Mat
SWI Technical Note - Migration from DirectIP to RMNet on MC73xx Rev002.docx (347 KB)


#13

Hi Matt,
In the meantime, do you know any of Sierra modem has 2 USB ports, one for AT command to check signal strength, one for AT command to set up data service like ATD99**1#.

Thanks and Regards


#14

Hi,

No there are no modems that can do this, it is the old arch that was left behind a few years ago hence nothing supports it.

Regards

Matt


#15

Hi Matt,

I tried by using QMI protocol, to get client ID (0x22) , sometimes get response, but sometimes not, if this situation happens, get signal strength qmi message (NAS, 0x20) was not working either. However on power up, all get client id, get signal strength working, but if there is an error, no response at all.

I was wondering is there a qmi protocol message to reset modem, like AT+CFUN=1 or AT!RESET, how to reset modem when there is an error situation by using QMI protocol?

Thanks and Regards


#16

Hi,

How did you ‘try using the QMI protocol’? Are you using qmilib (open source QMI daemon) or the Sierra one? Funnily enough I have scoured ours and cannot find an API that will reset the unit, I will ask around to see if there is one.

Regards

Matt


#17

Why the hell are you using a kernel version which is End-of-life since more than 10 years! This is pure insanity, it is full of unfixed bugs, including security bugs.