Re: ModemManager: Huawei PDU encoded USSD response truncated to 112 characters
- From: Graham Inggs <graham inggs uct ac za>
- To: networkmanager-list gnome org
- Subject: Re: ModemManager: Huawei PDU encoded USSD response truncated to 112 characters
- Date: Wed, 09 Nov 2011 12:48:40 +0200
I've found that prior to the following commit:
http://cgit.freedesktop.org/ModemManager/ModemManager/commit/src/mm-charsets.c?id=d05c87e4c80f1a56a613241d14de4faeb0a8304a
...gsm_unpack() in src/mm-charsets.c took the number of encoded
characters as input, now it takes the number of decoded characters as input.
On 07/11/2011 21:50, Graham Inggs wrote:
I believe the cause of this problem is that the output string of
gsm_unpack() needs to be larger than the input string. We get 8
characters out for every 7 input characters.
I have attached a simple patch to /plugins/mm-modem-huawei-gsm.c which
results in the full USSD response being returned.
I am not sure that this patch is the correct fix. It may be that
gsm_unpack() in src/mm-charsets.c needs take the 8/7 growth into
account when sizing the output array and returning the unpacked size.
Would someone more familiar with src/mm-charsets.c offer some guidance
please?
On Fri, Nov 4, 2011 at 8:44 AM, Graham Inggs<graham inggs uct ac za> wrote:
Tested with Huawei E1820.
ussdresult = gsmussd.Initiate("*101#")
print "ussd response: %s" % ussdresult
ussd response: Balance = R 9.50 Expiry date:02/05/2031.On-Net Minutes
= 01:16:00.Free SMS's = 51.Free Data = 100.00 MB.Free Da
The full response should have been:
Balance = R 9.50 Expiry date:02/05/2031.On-Net Minutes =
01:16:00.Free SMS's = 51.Free Data = 100.00 MB.Free Data = 2007.44 MB.
Partial ModemManager log:
modem-manager[3316]:<debug> [1320384816.466178]
[mm-at-serial-port.c:298] debug_log(): (ttyUSB0): -->
'AT+CUSD=1,"AA182C3602",15<CR>'
modem-manager[3316]:<debug> [1320384816.504610]
[mm-at-serial-port.c:298] debug_log(): (ttyUSB0):<--
'<CR><LF>OK<CR><LF>'
modem-manager[3316]:<debug> [1320384816.818950]
[mm-at-serial-port.c:298] debug_log(): (ttyUSB2):<--
'<CR><LF>^RSSI:16<CR><LF>'
modem-manager[3316]:<debug> [1320384816.819316]
[mm-at-serial-port.c:298] debug_log(): (ttyUSB2):<--
'<CR><LF>^CSNR:-77,-7<CR><LF>'
modem-manager[3316]:<debug> [1320384818.431324]
[mm-at-serial-port.c:298] debug_log(): (ttyUSB2):<-- '<CR><LF>+CUSD:
0,"C2303BEC1E97413D90149473D5602050110F4FCBF32072985ED6C1642F58ED2583CD62AEA7BBE52CD341CDB4BB4E2FCF413D102CA68BD9743098CB282F9741D3E6F43407F540B598CB282F9741C4303D0CEA816230980B060335852EA3BC5C0611C3F430A80792C16037178D066A0A5D",15<CR><LF>'
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]