Hi all:

I'm continuing to write my own Handler for my Wavecom Fastrack FXT009

I found a really nice guide with AT Commands:

http://www.daytelecom.com/download/AT_Command_Interface_Guide_Open_AT_Firmware_7.4.pdf

That explain what happen to me in the previous days very nicely (page 946)

*AT+CFUN=1 - Wireless CPU® reset Normally (when using UART1/2 to manage the
Wireless CPU®) the OK response is sent to the application after the Wireless
CPU® reset. When using the emulated serial port a such response is not
provided! In addition the Wireless CPU® reset will cause the USB stack
stopping. From the host’s point of view it is similar to a USB cable
disconnection. As consequence the host is going to uninstall the Wavecom USB
driver and the application will reference a non valid driver.

*Even better on page 99*

After AT+CPOF=1, the Wireless CPU® will not respond to AT commands. To
reset, use the hard reset.
*
So basically the trick provided by you is working. I removed in my handler
the AT+CFUN=1 in the reset() method and now It works.

The problem now comes in the done() method, this is how It looks like for a
normal Wavecom handler:

        getModemDriver().write("AT+WATH=31\r");
        Thread.sleep(Service.getInstance().getSettings().AT_WAIT);
        getModemDriver().write("AT+CFUN=0\r");

Thread.sleep(Service.getInstance().getSettings().AT_WAIT_AFTER_RESET);

For the FXT009 AT+WATH=31 stays there, according to the page 279:

*AT+WATH=31
Note: Ask for disconnection with release cause=normal and location=USER*

And the command AT+CFUN=0 must go, according to page 100
*
AT+CFUN=0 (equivalent to +CPOF).
This command executes an IMSI DETACH and makes a backup copy of some
internal parameters in SIM and in EEPROM. The SIM card cannot be accessed.
If the mobile equipment is not powered off by the application after this
command has
been sent, a re-start command (AT+CFUN=1 or AT+CFUN=1,1) will have to be
issued to restart the GSM registration process.*

But as I said, AT+CFUN=1 means game over, so I can't use it.

So basically now my Handler has only one done() function sending the
AT+WATH=31 command, which makes everything to work nicely, except when I try
to stop the Service, I'm getting a NullPointerException:

java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.NullPointerException
    at org.smslib.helper.SerialPort.close(SerialPort.java:194)
    at
org.smslib.modem.SerialModemDriver.disconnectPort(SerialModemDriver.java:119)
    at org.smslib.modem.AModemDriver.disconnect(AModemDriver.java:283)
    at org.smslib.modem.ModemGateway.stopGateway(ModemGateway.java:200)
    at org.smslib.Service.stopService(Service.java:354)

But this is only cosmetic, because if I run my test again, the gateway will
work fine, but would be nice if We can fix it :-), any ideas?

Best regards.

Marcos.

-- 
You received this message because you are subscribed to the Google Groups 
"SMSLib Discussion Group" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/smslib?hl=en.

Reply via email to