[PATCH_v4 0/5] Private network request to ConnMan
by Guillaume Zajac
Hi,
Changelog from v3 is:
- Add private-network source/include
- ConnMan plugin is independant from emulator
- Each application that need VPN will pass a callback as argument
when private network is requested. This callback will contain the
private network settings.
Guillaume Zajac (5):
gatppp: Add new contructor to use external fd
private-network: add callback typedef drivers and settings
private-network: add request/release functions and new feature to
Makefile.am
emulator: add request/release private network calls
connman: add plugin in oFono to request request/release private
network
Makefile.am | 10 +-
gatchat/gatppp.c | 33 +++++-
gatchat/gatppp.h | 1 +
gatchat/ppp.h | 2 +-
gatchat/ppp_net.c | 40 ++++---
include/private-network.h | 59 +++++++++
plugins/connman.c | 297 +++++++++++++++++++++++++++++++++++++++++++++
src/emulator.c | 49 ++++++--
src/ofono.h | 6 +
src/private-network.c | 89 ++++++++++++++
10 files changed, 556 insertions(+), 30 deletions(-)
create mode 100644 include/private-network.h
create mode 100644 plugins/connman.c
create mode 100644 src/private-network.c
3 weeks, 1 day
Business
by Daser Jnr.
Hi all
>From a business point of view, can some one tell me what i can do with ofono
Cheers
Daser S.
2 months, 2 weeks
[RFC] HFP support into oFono and BlueZ
by Gustavo F. Padovan
Hi,
These patches implement the new API for the Audio Gateway in BlueZ. It
follows the last version of the HandsfreeGateway and HandsfreeAgent
Intefaces API.
The first two patches is for BlueZ and the other for oFono. You can
test it with using enable-modem and test-voicecall scripts into the
test dir of oFono.
Feel free to test it and send me your comments. We have some bugs yet.
The audio part is not working yet. We are going to work on pulseaudio
this week to get this done soon.
Regards,
--
Gustavo F. Padovan
ProFUSION embedded systems - http://profusion.mobi
9 years, 8 months
CDMA SMS Handling
by Rajesh.Nagaiah@elektrobit.com
Hi,
There was a discussion about the CDMA SMS handling and CDMA PDUs in the
IRC channel couple of days before. I would like to highlight the
differences between CDMA and GSM PDU and how we should proceed with this
from my understanding. Let me know your opinion.
Even though oFono supports +CMT and +CMTI, if we feed the incoming CDMA
PDUs to the SMS core it wont get decoded correctly, as there is
substantial differences between the GSM and CDMA SMS PDUs as described
in 3GPP2 specification C.S0015-B Short Message Service (SMS) for
Wideband Spread Spectrum Systems
For eg, the incoming PDU example that was mentioned in the IRC
discussion
+CMT: , 40,
00000210020207028CE95DCC65800601FC08150003168D30010610241830608003061010
04044847
40 - Length of the PDU in bytes
00 - Message Type ( 00 - SMS Point-to-Point)
00 - TeleService Identifier Tag (SMS Parameter Indentifier)
02 - TeleService Identifier Length (SMS Parameter Length)
10 - TeleService Identifier Value - First 8 bits
02 - TeleService Identifier Value - Second 8 bits
TeleService Identifier - 0x1002 - CDMA Messaging Teleservice
(CMT-95)
02 - Originating Address Tag
07 - Originating Address Length
02 - Originating Address 1st 8 Bits
8C - Originating Address 2nd 8 Bits
E9 - Originating Address 3rd 8 Bits
5D - Originating Address 4th 8 Bits
CC - Originating Address 5th 8 Bits
65 - Originating Address 6th 8 Bits
80 - Originating Address 7th 8 Bits
Digit Mode - 1 Bit
Number Mode - 1 Bit
Number Type - 0 or 3 bits
Number Plan - 0 or 4 bits
Number Fields - 8 Bits
Number Field occurrence of CHARi
CHARi - 4 or 8 bits ( 4 - in case of DTMF encoding, 8 - incase
of ASCII encoding)
Reserved - 0-7 bits
Lets take the 1st and 2nd 8 bits
02 - 0000 0010 ( Digit Mode bit - 0, Number Mode bit - 0)
8C - 1000 1100
As Digit mode bit is set to 0, Number Plan and Number Type is void
(0 bits) in this case.
So the remaining 6 bits of 1st 8bits and the first 2 bits of 2nd
8bit is Number fields
Number fields - 00 0010 10 - 0000 1010 - 0x0A (10 digits)
As Digit mode bit is set to 0, each address digit here is
represented as 4bit DTMF digit
0x8C 0xE9 0x5D 0xCC 0x65 0X80
1000 1100 1110 1001 0101 1101 1100 1100 0110 0101 1000 0000
10 0011 0011 1010 0101 0111 0111 0011 0001 1001 0110 0000 00
3 3 0 5 7 7 3 1 9 6 Last 6 bits
are reserved bits
Originating Address - 3305773196
06 - Bearer Reply Option Tag
01 - Bearer Reply Option Length
FC - First 6 bits Reply Sequence number and last 2 bits reserved set to
0
1111 1100 - 111111 REPLY_SEQ
00 Reserved
08 - Bearer Data Tag
15 - Bearer Data Length
00 - Message Indentifier Tag ( Bearer Data Sub parameter )
03 - Message Indentifier Length
16 - Message Type 4 bits Message Id 4 Bits
8D - Message Id 8 Bits
30 - Message Id 4 Bits, UDH Header indicator 1 Bit, Reserved 3 Bits
How Message Identifier value 16 8D 30 was formed ?
Message type ( 4 bits ) - 1( 0001 - Deliver)
Message Identifier ( 16 bits ) - 26835( 0x68D3)
Header Indicator (1 bit) - 0 (UDH not present in User Data
Subparameter)
Reserved ( 3bits) - 0 (000)
01 - User Data Tag ( Bearer Data Sub parameter )
06 - User Data Length
10 - Message Encoding 5 bits ( 0001 0000 ( 00010 = 2 -> 7-bit ASCII )) &
Number Fields 3 bits ( 000)
24 - Number Fields 5 Bits + User char field 1's 3 bits ( 0010 0100 )
18 - User char field 1's remaining 5 bits + User char field 2's 3 bits
(0001 1000)
30 - User char field 2's remaining 5 bits + User char field 3's 3 bits
(0011 0000)
60 - User char field 3's remaining 5 bits + User char field 4's 3 bits
(0110 0000)
80 - User char field 4's remaining 5 bits + Reserved 3 Bits (1000 0000)
Number Fields: 000 00100 - 04 (4 Character fields)
User Char [1] - 100 00011 - 0x83
User Char [2] - 000 00110 - 0x06
User Char [3] - 000 01100 - 0x0C
User Char [4] - 000 10000 - 0x10
Hex 0x83 0x06 0x0C 0x10
Octets 1000 0011 0000 0110 0000 1100 0001 0000
Septets 1000 001 10000 01 100000 1 1000001
Character A(0x41) A(0x41) A(0x41) A(0x41)
Message content: AAAA
Message Encoding - 2 (00010 - 5 bits)
Number Fields - 4 (0000 0100 - 8 bits)
User characters - 0x83 0x06 0x0C 0x10 ( 8 bits each)
00010 0000 0100 1000 0011 0000 0110 0000 1100 0001 0000
0001 0000 - 0x10
0010 0100 - 0x24
0001 1000 - 0x18
0011 0000 - 0x30
0110 0000 - 0x60
1000 0000 - 0x80 (Last 3 bits set to 0's(reserved bit) to complete
the octets)
03 - Message Center Time Stamp Tag ( Bearer Data Sub parameter )
06 - Message Center Time Stamp Length
all date and time fields contain two 4-bit BCD numbers giving the
decimal value of the field.
10 - Year (2010)
10 - Month (10 - October)
04 - Day
04 - Hour
48 - Minutes
47 - Seconds
Time Stamp 04:48:47 04/10/2010
Decoded Information:
Message Type: Deliver (Incoming Message)
Teleservice: CMT-95
Message Identifier: 26835
Originating Address: 3305773196
Message content: AAAA
Message Center Time Stamp: 04:48:47 04/10/2010
As from the above decoding example we can see there is substantial
differences between the GSM and CDMA SMS specifications and so the SMS
atom needs many additions and needs to be heavily modified to support
also CDMA SMS handling. Currently the oFono sms file unit handles the
common and the GSM technology aspects of the SMS stack along with the
smsutils. The SMS atom has the GSM specific members, segmentation and
queuing logic. The smsutils mainly takes care of encoding/decoding of
the PDUs, which is GSM specific. As the segmentation and queuing logic
and the interface is common for both GSM and CDMA, we could reuse this
common code and add the CDMA handling into it and create a new
cdmasmsutils unit to support the CDMA SMS specifics, much like the
smsutils does already for GSM.
BR,
Rajesh
9 years, 11 months
[RFC 0/3] org.bluez.Telephony interface integration
by Frédéric Danis
Those patches integrates the future org.bluez.Telephony interface into
oFono for HFP HF and HFP AG plugins.
For HFP AG plugin, the bluetooth rfcomm server is replaced by a
Telephony Agent registered to org.bluez.Telephony.
For HFP HF plugin, RegisterAgent call of org.bluez.HandsfreeGateway is
replaced by the one of org.bluez.Telephony
Frédéric Danis (3):
bluetooth: add org.bluez.Telephony helpers
hfp_hf: update to org.bluez.Telephony interface
hfp_ag: update to org.bluez.Telephony interface
plugins/bluetooth.c | 198 +++++++++++++++++++++++++++++++++++++++++++++++++++
plugins/bluetooth.h | 14 ++++
plugins/hfp_ag.c | 119 +++++++++++++------------------
plugins/hfp_hf.c | 165 ++++++++++++++++--------------------------
4 files changed, 323 insertions(+), 173 deletions(-)
10 years, 3 months
[PATCH 0/5] Call forwarding state handling change
by Oleg Zhurakivskyy
Hello,
Please find the changes in order to correct call forwarding states.
What's missing:
- Only clear the conditional cache flag if a conditional operation is
attempted and succeeds while cfu is active.
- Don't run conditional queries via GetProperties if cfu is active.
Regards,
Oleg
Oleg Zhurakivskyy (5):
call-forwarding: Minor style fixes
call-forwarding: Minor refactoring of is_cfu_enabled()
call-forwarding: Don't set conditional cfs when cfu is active
call-forwarding: Don't report conditional cfs when cfu is active
call-forwarding: Emit signals to mask/unmask conditional cfs
src/call-forwarding.c | 156 ++++++++++++++++++++++++++++++++++--------------
1 files changed, 110 insertions(+), 46 deletions(-)
--
1.7.5.4
10 years, 3 months
Audio & video flow
by yuvaraj r
Hi All,
I am thinking that audio and video is flowing between modem(Communication
cpu) and Application Cpu via Network protocol sessions layer(Phonet,caif)
Is it correct or not ?
If i assumption is wrong
Could anybody explain me , how audio and video flow happening between them?
Does any special hardware interface is connected with modem?
Thanks
Yuvaraj R
10 years, 3 months
crash when unplugged modem when it was still initializing
by Jussi Kukkonen
Hi,
I happened to unplug my dongle quite soon after starting ofono. It
promptly aborted.
This is with git master from today.
- Jussi
$ sudo src/ofonod -n -d
ofonod[16006]: oFono version 1.3
ofonod[16006]: src/plugin.c:__ofono_plugin_init()
ofonod[16006]: plugins/push-notification.c:push_notification_init()
ofonod[16006]: plugins/smart-messaging.c:smart_messaging_init()
ofonod[16006]: examples/emulator.c:example_emulator_init()
ofonod[16006]: src/gprs-provision.c:ofono_gprs_provision_driver_register()
driver: 0x81765c0 name: Example GPRS context provisioning
ofonod[16006]: src/nettime.c:ofono_nettime_driver_register() driver:
0x8176580 name: Example Network Time
ofonod[16006]: src/history.c:ofono_history_driver_register() driver:
0x8176540 name: Example Call History
ofonod[16006]: src/cdma-provision.c:ofono_cdma_provision_driver_register()
driver: 0x8176500 name: CDMA provisioning
ofonod[16006]: src/gprs-provision.c:ofono_gprs_provision_driver_register()
driver: 0x81764c0 name: Provisioning
ofonod[16006]: plugins/connman.c:connman_init()
ofonod[16006]: src/private-network.c:ofono_private_network_driver_register()
driver: 0x8176480, name: ConnMan Private Network
ofonod[16006]: plugins/dun_gw.c:dun_gw_init()
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8176380, name: hfp
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8176320, name: sap
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81762a0, name: telit
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8176200, name: sim900
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81761a0, name: samsung
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8176140, name: speedupcdma
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81760e0, name: speedup
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8176080, name: alcatel
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8176020, name: linktop
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175fc0, name: nokiacdma
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175f60, name: nokia
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175f00, name: tc65
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175e60, name: ste
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175e00, name: ifx
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175da0, name: palmpre
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175d40, name: novatel
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175ce0, name: sierra
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175c60, name: huawei
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175c00, name: zte
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175ba0, name: hso
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175b40, name: mbm
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175ae0, name: calypso
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175a80, name: wavecom
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8175a20, name: gobi
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81759c0, name: g1
ofonod[16006]: src/cdma-voicecall.c:ofono_cdma_voicecall_driver_register()
driver: 0x8175940, name: cdmamodem
ofonod[16006]: src/modem.c:ofono_devinfo_driver_register() driver:
0x8175960, name: cdmamodem
ofonod[16006]: src/cdma-connman.c:ofono_cdma_connman_driver_register()
driver: 0x8175984, name: cdmamodem
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81758a0, name: phonesim
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81758e0, name: localhfp
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x8175874, name: phonesim
ofonod[16006]: src/ctm.c:ofono_ctm_driver_register() driver:
0x8175860, name: phonesim
ofonod[16006]: plugins/phonesim.c:parse_config() filename
/etc/ofono/phonesim.conf
ofonod[16006]: Reading of /etc/ofono/phonesim.conf failed: No such
file or directory
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x8175740, name: hfpmodem
ofonod[16006]: src/modem.c:ofono_devinfo_driver_register() driver:
0x81757fc, name: hfpmodem
ofonod[16006]: src/network.c:ofono_netreg_driver_register() driver:
0x81757a0, name: hfpmodem
ofonod[16006]: src/call-volume.c:ofono_call_volume_driver_register()
driver: 0x81757d4, name: hfpmodem
ofonod[16006]: src/handsfree.c:ofono_handsfree_driver_register()
driver: 0x8175818, name: hfpmodem
ofonod[16006]: src/network.c:ofono_netreg_driver_register() driver:
0x81756c0, name: dunmodem
ofonod[16006]: src/gprs.c:ofono_gprs_driver_register() driver:
0x81756ec, name: dunmodem
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x81755e0, name: stemodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x817566c, name: stemodem
ofonod[16006]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x8175640, name: stemodem
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x81754a0, name: ifxmodem
ofonod[16006]: src/audio-settings.c:ofono_audio_settings_driver_register()
driver: 0x81754f0, name: ifxmodem
ofonod[16006]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x8175520, name: ifxmodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x817554c, name: ifxmodem
ofonod[16006]: src/stk.c:ofono_stk_driver_register() driver:
0x8175570, name: ifxmodem
ofonod[16006]: src/ctm.c:ofono_ctm_driver_register() driver:
0x8175598, name: ifxmodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x8175420, name: hsomodem
ofonod[16006]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x8175440, name: hsomodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x8175380, name: mbmmodem
ofonod[16006]: src/stk.c:ofono_stk_driver_register() driver:
0x81753a4, name: mbmmodem
ofonod[16006]: src/location-reporting.c:ofono_location_reporting_driver_register()
driver: 0x81753c4, name: mbmmodem
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x81752e0, name: calypsomodem
ofonod[16006]: src/stk.c:ofono_stk_driver_register() driver:
0x8175328, name: calypsomodem
ofonod[16006]: src/ussd.c:ofono_ussd_driver_register() driver:
0x81751c0, name: huaweimodem
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x81751e0, name: huaweimodem
ofonod[16006]: src/audio-settings.c:ofono_audio_settings_driver_register()
driver: 0x8175228, name: huaweimodem
ofonod[16006]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x8175260, name: huaweimodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x817523c, name: huaweimodem
ofonod[16006]: src/cdma-netreg.c:ofono_cdma_netreg_driver_register()
driver: 0x817528c, name: huaweimodem
ofonod[16006]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x8175160, name: nwmodem
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x8174fc0, name: atmodem
ofonod[16006]: src/modem.c:ofono_devinfo_driver_register() driver:
0x8175060, name: atmodem
ofonod[16006]: src/call-barring.c:ofono_call_barring_driver_register()
driver: 0x8175018, name: atmodem
ofonod[16006]: src/call-forwarding.c:ofono_call_forwarding_driver_register()
driver: 0x8174d80, name: atmodem
ofonod[16006]: src/call-meter.c:ofono_call_meter_driver_register()
driver: 0x8174dc0, name: atmodem
ofonod[16006]: src/call-settings.c:ofono_call_settings_driver_register()
driver: 0x8174c80, name: atmodem
ofonod[16006]: src/phonebook.c:ofono_phonebook_driver_register()
driver: 0x8175038, name: atmodem
ofonod[16006]: src/ussd.c:ofono_ussd_driver_register() driver:
0x8174f94, name: atmodem
ofonod[16006]: src/sms.c:ofono_sms_driver_register() driver:
0x8174d00, name: atmodem
ofonod[16006]: src/sim.c:ofono_sim_driver_register() driver:
0x8174e80, name: atmodem
ofonod[16006]: src/sim.c:ofono_sim_driver_register() driver:
0x8174ee0, name: atmodem-noef
ofonod[16006]: src/stk.c:ofono_stk_driver_register() driver:
0x8174f74, name: atmodem
ofonod[16006]: src/network.c:ofono_netreg_driver_register() driver:
0x8174e20, name: atmodem
ofonod[16006]: src/cbs.c:ofono_cbs_driver_register() driver:
0x8174d60, name: atmodem
ofonod[16006]: src/call-volume.c:ofono_call_volume_driver_register()
driver: 0x8175084, name: atmodem
ofonod[16006]: src/gprs.c:ofono_gprs_driver_register() driver:
0x81750b4, name: atmodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x81750d8, name: atmodem
ofonod[16006]: src/sim-auth.c:ofono_sim_auth_driver_register() driver:
0x81750ec, name: atmodem
ofonod[16006]: src/gnss.c:ofono_gnss_driver_register() driver:
0x8175104, name: atmodem
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8174a60, name: u8500
ofonod[16006]: src/modem.c:ofono_devinfo_driver_register() driver:
0x8174a40, name: u8500
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x81749e0, name: n900
ofonod[16006]: src/modem.c:ofono_modem_driver_register() driver:
0x8174980, name: isiusb
ofonod[16006]: src/modem.c:ofono_devinfo_driver_register() driver:
0x8174670, name: isimodem
ofonod[16006]: src/phonebook.c:ofono_phonebook_driver_register()
driver: 0x8174660, name: isimodem
ofonod[16006]: src/network.c:ofono_netreg_driver_register() driver:
0x81746a0, name: isimodem
ofonod[16006]: src/voicecall.c:ofono_voicecall_driver_register()
driver: 0x81746e0, name: isimodem
ofonod[16006]: src/sms.c:ofono_sms_driver_register() driver:
0x8174740, name: isimodem
ofonod[16006]: src/cbs.c:ofono_cbs_driver_register() driver:
0x8174760, name: isimodem
ofonod[16006]: src/sim.c:ofono_sim_driver_register() driver:
0x8174780, name: isimodem
ofonod[16006]: src/ussd.c:ofono_ussd_driver_register() driver:
0x81747c8, name: isimodem
ofonod[16006]: src/call-forwarding.c:ofono_call_forwarding_driver_register()
driver: 0x81747e0, name: isimodem
ofonod[16006]: src/call-settings.c:ofono_call_settings_driver_register()
driver: 0x8174800, name: isimodem
ofonod[16006]: src/call-barring.c:ofono_call_barring_driver_register()
driver: 0x8174830, name: isimodem
ofonod[16006]: src/call-meter.c:ofono_call_meter_driver_register()
driver: 0x8174860, name: isimodem
ofonod[16006]: src/radio-settings.c:ofono_radio_settings_driver_register()
driver: 0x81748a0, name: isimodem
ofonod[16006]: src/gprs.c:ofono_gprs_driver_register() driver:
0x81748c4, name: isimodem
ofonod[16006]: src/gprs.c:ofono_gprs_context_driver_register() driver:
0x81748d8, name: isimodem
ofonod[16006]: src/audio-settings.c:ofono_audio_settings_driver_register()
driver: 0x81748ec, name: isimodem
ofonod[16006]: src/sim.c:ofono_sim_driver_register() driver:
0x8174900, name: wgmodem2.5
ofonod[16006]: plugins/udevng.c:udev_start()
ofonod[16006]: plugins/udevng.c:enumerate_devices()
ofonod[16006]: plugins/udevng.c:check_usb_device() option [12d1:140c]
ofonod[16006]: plugins/udevng.c:add_device()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/ttyUSB3/tty/ttyUSB3
ofonod[16006]: plugins/udevng.c:add_device() /dev/ttyUSB3 (huawei)
255/255/255 [00] ==> (null) (null)
ofonod[16006]: plugins/udevng.c:check_usb_device() option [12d1:140c]
ofonod[16006]: plugins/udevng.c:add_device()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/ttyUSB2/tty/ttyUSB2
ofonod[16006]: plugins/udevng.c:add_device() /dev/ttyUSB2 (huawei)
255/255/255 [01] ==> (null) (null)
ofonod[16006]: plugins/udevng.c:check_usb_device() option [12d1:140c]
ofonod[16006]: plugins/udevng.c:add_device()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.2/ttyUSB1/tty/ttyUSB1
ofonod[16006]: plugins/udevng.c:add_device() /dev/ttyUSB1 (huawei)
255/255/255 [02] ==> (null) (null)
ofonod[16006]: plugins/udevng.c:check_usb_device() option [12d1:140c]
ofonod[16006]: plugins/udevng.c:add_device()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.3/ttyUSB0/tty/ttyUSB0
ofonod[16006]: plugins/udevng.c:add_device() /dev/ttyUSB0 (huawei)
255/255/255 [03] ==> (null) (null)
ofonod[16006]: plugins/udevng.c:create_modem()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1
ofonod[16006]: plugins/udevng.c:create_modem() driver=huawei
ofonod[16006]: src/modem.c:ofono_modem_create() name: (null), type: huawei
ofonod[16006]: plugins/udevng.c:setup_huawei()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1
ofonod[16006]: plugins/udevng.c:setup_huawei() /dev/ttyUSB3
255/255/255 00 (null)
ofonod[16006]: plugins/udevng.c:setup_huawei() /dev/ttyUSB2
255/255/255 01 (null)
ofonod[16006]: plugins/udevng.c:setup_huawei() /dev/ttyUSB1
255/255/255 02 (null)
ofonod[16006]: plugins/udevng.c:setup_huawei() /dev/ttyUSB0
255/255/255 03 (null)
ofonod[16006]: plugins/udevng.c:setup_huawei() modem=/dev/ttyUSB3
pcui=/dev/ttyUSB0 diag=(null)
ofonod[16006]: src/modem.c:set_modem_property() modem 0x8b62bd8 property Modem
ofonod[16006]: src/modem.c:set_modem_property() modem 0x8b62bd8 property Pcui
ofonod[16006]: src/modem.c:set_modem_property() modem 0x8b62bd8 property Diag
ofonod[16006]: src/modem.c:ofono_modem_register() 0x8b62bd8
ofonod[16006]: plugins/huawei.c:huawei_probe() 0x8b62bd8
ofonod[16006]: src/modem.c:emit_modem_added() 0x8b62bd8
ofonod[16006]: src/modem.c:call_modemwatches() 0x8b62bd8 added:1
ofonod[16006]: plugins/hfp_ag.c:modem_watch() modem: 0x8b62bd8, added: 1
ofonod[16006]: plugins/dun_gw.c:modem_watch() modem: 0x8b62bd8, added: 1
ofonod[16006]: examples/emulator.c:modem_watch() modem: 0x8b62bd8, added: 1
ofonod[16006]: plugins/smart-messaging.c:modem_watch() modem:
0x8b62bd8, added: 1
ofonod[16006]: plugins/push-notification.c:modem_watch() modem:
0x8b62bd8, added: 1
ofonod[16006]: src/private-network.c:ofono_private_network_driver_register()
driver: 0x8176620, name: Example Private Network Driver
ofonod[16006]: plugins/huawei.c:huawei_enable() 0x8b62bd8
ofonod[16006]: src/modem.c:get_modem_property() modem 0x8b62bd8 property Modem
ofonod[16006]: plugins/huawei.c:open_device() Modem /dev/ttyUSB3
ofonod[16006]: src/modem.c:get_modem_property() modem 0x8b62bd8 property Pcui
ofonod[16006]: plugins/huawei.c:open_device() Pcui /dev/ttyUSB0
ofonod[16006]: plugins/bluetooth.c:manager_properties_cb()
ofonod[16006]: plugins/bluetooth.c:parse_adapters()
ofonod[16006]: plugins/bluetooth.c:parse_adapters() Calling
GetProperties on /org/bluez/1807/hci0
ofonod[16006]: plugins/bluetooth.c:adapter_properties_cb()
ofonod[16006]: plugins/bluetooth.c:parse_devices()
ofonod[16006]: plugins/bluetooth.c:adapter_properties_cb() Adapter
Address: C4:17:FE:F2:D6:EA, Path: /org/bluez/1807/hci0
ofonod[16006]: plugins/bluetooth.c:device_properties_cb()
ofonod[16006]: plugins/bluetooth.c:device_properties_cb()
ofonod[16006]: Using device:
/org/bluez/1807/hci0/dev_A0_75_91_53_30_96, devaddr:
A0:75:91:53:30:96, adapter: C4:17:FE:F2:D6:EA
ofonod[16006]: src/modem.c:ofono_modem_create() name:
hfp/C417FEF2D6EA_A07591533096, type: hfp
ofonod[16006]: src/modem.c:ofono_modem_register() 0x8b55498
ofonod[16006]: plugins/hfp_hf.c:hfp_register_ofono_handsfree()
Registering oFono Agent to bluetooth daemon
ofonod[16006]: src/modem.c:emit_modem_added() 0x8b55498
ofonod[16006]: src/modem.c:call_modemwatches() 0x8b55498 added:1
ofonod[16006]: plugins/hfp_ag.c:modem_watch() modem: 0x8b55498, added: 1
ofonod[16006]: plugins/dun_gw.c:modem_watch() modem: 0x8b55498, added: 1
ofonod[16006]: examples/emulator.c:modem_watch() modem: 0x8b55498, added: 1
ofonod[16006]: plugins/smart-messaging.c:modem_watch() modem:
0x8b55498, added: 1
ofonod[16006]: plugins/push-notification.c:modem_watch() modem:
0x8b55498, added: 1
ofonod[16006]: plugins/hfp_hf.c:hfp_enable() 0x8b55498
ofonod[16006]: plugins/hfp_hf.c:hfp_connect_reply() Connect reply:
Method "Connect" with signature "" on interface
"org.bluez.HandsfreeGateway" doesn't exist
ofonod[16006]: plugins/huawei.c:cfun_enable()
ofonod[16006]: plugins/huawei.c:sysinfo_enable_cb() 255 -> 0
ofonod[16006]: plugins/huawei.c:cfun_offline()
ofonod[16006]: examples/emulator.c:powered_watch() Adding modem
0x8b62bd8 to the list
ofonod[16006]: examples/emulator.c:create_tcp() Created server_watch: 58
ofonod[16006]: examples/emulator.c:create_tcp() Created server_watch: 59
ofonod[16006]: src/modem.c:modem_change_state() old state: 0, new state: 1
ofonod[16006]: plugins/huawei.c:huawei_pre_sim() 0x8b62bd8
ofonod[16006]: src/sim.c:ofono_sim_add_state_watch() 0x8b62970
ofonod[16006]: src/sim.c:ofono_sim_add_state_watch() 0x8b62970
ofonod[16006]: src/sim.c:ofono_sim_add_state_watch() 0x8b62970
ofonod[16006]: Modem and NDIS support (CDC support: unknown)
ofonod[16006]: Voice channel: 8000 Hz, 16 bits, 20ms period
ofonod[16006]: plugins/udevng.c:remove_device()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/ttyUSB3/tty/ttyUSB3
ofonod[16006]: plugins/udevng.c:destroy_modem()
/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1
ofonod[16006]: src/modem.c:ofono_modem_remove() 0x8b62bd8
ofonod[16006]: src/modem.c:modem_unregister() 0x8b62bd8
ofonod[16006]: src/modem.c:modem_change_state() old state: 1, new state: 0
ofonod[16006]: src/modem.c:flush_atoms()
ofonod[16006]: Aborting (signal 11) [src/ofonod]
ofonod[16006]: ++++++++ backtrace ++++++++
ofonod[16006]: #0 0xb7766400 in
ofonod[16006]: #1 0x8115d84 in sim_fs_file_watch_remove() at src/simfs.c:216
ofonod[16006]: #2 0x80f294a in ofono_sim_remove_file_watch() at src/sim.c:2127
ofonod[16006]: #3 0x80cf2e8 in __ofono_atom_unregister() at src/modem.c:275
ofonod[16006]: #4 0x80cf370 in flush_atoms() at src/modem.c:423
ofonod[16006]: #5 0x80cf537 in set_powered() at src/modem.c:863
ofonod[16006]: #6 0x80cf7b3 in modem_unregister() at src/modem.c:2006
ofonod[16006]: #7 0x80d1213 in ofono_modem_remove() at src/modem.c:2076
ofonod[16006]: #8 0x805ae32 in destroy_modem() at plugins/udevng.c:698
ofonod[16006]: #9 0xb7649968 in /lib/i386-linux-gnu/libglib-2.0.so.0
ofonod[16006]: #10 0xb7649f98 in /lib/i386-linux-gnu/libglib-2.0.so.0
ofonod[16006]: #11 0x805b18a in remove_device() at plugins/udevng.c:750
ofonod[16006]: #12 0xb76a29ce in /lib/i386-linux-gnu/libglib-2.0.so.0
ofonod[16006]: #13 0xb765ca3f in /lib/i386-linux-gnu/libglib-2.0.so.0
ofonod[16006]: #14 0xb765d170 in /lib/i386-linux-gnu/libglib-2.0.so.0
ofonod[16006]: #15 0xb765d77b in /lib/i386-linux-gnu/libglib-2.0.so.0
ofonod[16006]: #16 0x80548c9 in main() at src/main.c:262
ofonod[16006]: #17 0xb745ce46 in /lib/i386-linux-gnu/i686/cmov/libc.so.6
ofonod[16006]: +++++++++++++++++++++++++++
10 years, 3 months
create_modem/destroy_modem() loop with Huawei USB modem
by Jussi Kukkonen
I'm sometimes seeing a create_modem/destroy_modem() loop that seems to
go on forever: Maybe half an hour ago I inserted a USB modem and tried
to "test/enable-modem" (although I think enable-modem is not needed to
trigger it). Now the Modem objects keep appearing and disappearing on
the system bus: It's currently at "/huawei189" and counting.
The device is a Huawei E1550, connected straight to a laptop USB port.
This has happened maybe five times altogether but it's not easily
reproducable. I have my own ofono client running but it doesn't really
do anything other than attach to Manager and Modem signals (and do the
corresponding initial GetModems()/GetProperties() method calls).
I'm attaching a the log just in case it helps out, unfortunately the
beginning was no longer in the terminal buffer.
- Jussi
10 years, 3 months
[PATCH] sim: Make SPN change atomic for consumers
by Oleg Zhurakivskyy
Due to new spn watch semantics, ofono_sim_get_spn()
will report the absence of SPN while reading it,
which is probably incorrect.
---
src/sim.c | 30 +++++++++++++++---------------
1 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/src/sim.c b/src/sim.c
index e4bd378..703e0db 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -2398,7 +2398,14 @@ static inline void spn_watches_notify(struct ofono_sim *sim)
static void sim_spn_set(struct ofono_sim *sim, const void *data, int length,
const unsigned char *dc)
{
- char *spn;
+ g_free(sim->spn);
+ sim->spn = NULL;
+
+ g_free(sim->spn_dc);
+ sim->spn_dc = NULL;
+
+ if (data == NULL)
+ goto notify;
/*
* TS 31.102 says:
@@ -2416,19 +2423,18 @@ static void sim_spn_set(struct ofono_sim *sim, const void *data, int length,
* itself which is not there either. 11.11 contains the same
* paragraph as 51.101 and has an Annex B which we implement.
*/
- spn = sim_string_to_utf8(data, length);
- if (spn == NULL) {
+ sim->spn = sim_string_to_utf8(data, length);
+ if (sim->spn == NULL) {
ofono_error("EFspn read successfully, but couldn't parse");
goto notify;
}
- if (strlen(spn) == 0) {
- g_free(spn);
+ if (strlen(sim->spn) == 0) {
+ g_free(sim->spn);
+ sim->spn = NULL;
goto notify;
}
- sim->spn = spn;
-
if (dc)
sim->spn_dc = g_memdup(dc, 1);
@@ -2443,7 +2449,7 @@ static void sim_cphs_spn_short_read_cb(int ok, int length, int record,
struct ofono_sim *sim = user_data;
if (!ok) {
- spn_watches_notify(sim);
+ sim_spn_set(sim, NULL, 0, NULL);
return;
}
@@ -2464,7 +2470,7 @@ static void sim_cphs_spn_read_cb(int ok, int length, int record,
OFONO_SIM_FILE_STRUCTURE_TRANSPARENT,
sim_cphs_spn_short_read_cb, sim);
else
- spn_watches_notify(sim);
+ sim_spn_set(sim, NULL, 0, NULL);
return;
}
@@ -2496,12 +2502,6 @@ static void sim_spn_changed(int id, void *userdata)
if (sim->flags & SIM_FLAG_READING_SPN)
return;
- g_free(sim->spn);
- sim->spn = NULL;
-
- g_free(sim->spn_dc);
- sim->spn_dc = NULL;
-
sim->flags |= SIM_FLAG_READING_SPN;
ofono_sim_read(sim->context, SIM_EFSPN_FILEID,
OFONO_SIM_FILE_STRUCTURE_TRANSPARENT,
--
1.7.5.4
10 years, 3 months