gnokii-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Reviving 3110 support


From: Pawel Kot
Subject: Re: Reviving 3110 support
Date: Sun, 2 Feb 2003 00:28:56 +0100 (CET)

On Sat, 1 Feb 2003, Osma Suominen wrote:

Hi Osma,

> I recently acquired a Nokia 3110 together with the original data cable.
> I thought it would make a nice SMS gateway. Alas, I soon found out that
> recent versions of gnokii (after 0.3.5) don't support 3110.

Yes, indeed. We had not too many users and no real developer for this
driver.

> I decided to see what I could do to get it working again.

Cool :-) I was planning to do the same (I got Nokia 8148 for tests), but
this has quite far timeframe...

> gnokii-0.3.5 is really not something you want to start building
> something on.

Correct.

> Now after some intensive hacking I've got 3110 support working to some
> degree on a modified gnokii-0.5.0pre4 (I couldn't get a recent CVS
> snapshot to compile so I picked that as starting point). That is, the
> phone is identified and I can read, save and send normal text SMS
> messages.

That is GREAT news!!! Well done!

> I've stumbled on some problems with the internal data formats that
> recent versions of gnokii use. I think the current way things are done
> makes a lot of sense: SMS handling mostly happens in the middle layer
> and the phone-specific assembly of SMS requests (that used to be done
> with SMS layouts, if I understood the idea correctly) is done in the
> phone-specific parts of code.

Exactly. That was the reason of some internal changes that took part
between 0.3.x and 0.4.0

> However, the 3110 is special because it likes to do some of the encoding
> of data itself. For example, it expects phone numbers in plain ASCII
> strings, not BCD, and plaintext SMS messages also on plain ASCII
> strings, not in packed 7-bit format. So I've had to do some ugly tricks
> (usually encoding/decoding back and forth) to get stuff to be in the
> right format for the phone. The middle layer, of course, specifically
> the gn_sms_raw data structure, uses BCD numbers and 7bit encoding of
> plaintext user data.

Yes, I implemented only PDU frames in sms support, but it should be fairly
easy to add text support as well.

> I have some questions for you Gnokii hackers. Are you interested in
> getting 3110 support working again?

Sure.

> Do you have a solution for the abovementioned problem of encodings - for
> example, there could be a driver-specific flag saying "don't do 7bit
> encoding for me, please" - or should I just work around it in the driver
> code as I've done now?

It should be done in gsm-sms.c when you set some field in gn_sms struct.
At least I had such intension.

> I haven't dared to touch anything else than common/phones/nk3110.c in
> order not to step on anyone's toes. (well, except a Makefile and some
> code to enable the 3110 driver)

Don't bother to touch other files -- I'm here to sync everything :-)

> I'm sorry I can't show you the code yet, I have it on my laptop which is
> currently without a net connection. But I'll continue hacking on it and
> publish it in a few days.

Okay, I'm waiting impatiently for the patch.

> PS. There's one anomaly - the phone only sends one SMS message, after
> which sending fails with the error code 0x65 0x15. Saving etc. still
> work. This also happens with gnokii-0.3.5. Power-cycling the phone
> helps, but then again only one SMS can be sent. A comment in the old
> code said that the error code was for the situation where "the phone
> originated SMS was disabled by the network for the particular phone".
>
> Any clues to what this could mean? I'm using the Finnish Sonera network,
> if that matters. Maybe there's something suspicious about the message,
> and the network denies further messages??

The debug output for this could help a bit.

thanks for your work (even when I haven't seen it yet)

regards,
pkot
-- 
http://slackware.pl/ -- o Slackware po polsku
http://kt.linuxnews.pl/ -- Kernel Traffic po polsku




reply via email to

[Prev in Thread] Current Thread [Next in Thread]