* Re-activating a context.
@ 2012-07-12 14:50 Christopher Vogl
2012-07-12 20:49 ` Denis Kenzior
0 siblings, 1 reply; 7+ messages in thread
From: Christopher Vogl @ 2012-07-12 14:50 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 24394 bytes --]
Hello,
I am trying to simulate a connection loss and after a valid ppp
connection I disconnect the antenna to get detached from GPRS.
After reconnecting the antenna everything seems to work fine just until
activating the context.
Ofono seems to get stuck in
drivers/atmodem/gprs-context.c:at_gprs_activate_primary() and
AT+CGDCONT=1 is missing on the debug output.
When I retry to activate the context after some minutes with a dbus-send
call, I receive an operation in progress error.
Below I have attached ofono's debug output and dbus-send calls for
important interfaces
- before removing the antenna
- after removing the antenna
- after reconnecting the antenna
Modem in use: Telit UC864-G
connMan in the debug output is my own simple connection manger. I am not
sure if I missed to set some ofono state or if there is a known issue.
I really would appreciate a hint in this case.
Thanks!
Greetings,
Christopher Vogl
...
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_process_configure_request: current state 6:REQSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: event: 6 (RCR+),
action: 2008, new_state: 8 (ACKSENT)
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_send_configure_ack: current state 6:REQSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_process_configure_reject: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_generate_event: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: event: 9 (RCN),
action: 1028, new_state: 8 (ACKSENT)
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_initialize_restart_count: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_send_configure_request: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_process_configure_nak: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_generate_event: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: event: 9 (RCN),
action: 1028, new_state: 8 (ACKSENT)
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_initialize_restart_count: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_send_configure_request: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_process_configure_ack: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_generate_event: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: event: 8 (RCA),
action: 129, new_state: 9 (OPENED)
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP: ipcp:
pppcp_initialize_restart_count: current state 8:ACKSENT
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 4
Jan 1 07:56:39 mx31tt01 daemon.debug ofonod[408]:
drivers/atmodem/gprs-context.c:ppp_connect()
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: IP: 2.200.229.88
Jan 1 07:56:39 mx31tt01 daemon.info ofonod[408]: DNS: 139.7.30.126,
139.7.30.125
Jan 1 07:56:39 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:pri_activate_callback() 0x1b7dde0
Jan 1 07:56:39 mx31tt01 user.debug connMan[371]: Got connection context
signal Settings, Val = {'Interface': <'ppp0'>, 'Method': <'static'>,
'Address': <'2.200.229.88'>, 'Netmask': <'255.255.255.255'>, 'Do
mainNameServers': <['139.7.30.126', '139.7.30.125']>}
Jan 1 07:56:39 mx31tt01 daemon.debug ofonod[408]:
plugins/udev.c:udev_event() subsystem net add
Jan 1 07:56:39 mx31tt01 daemon.debug ofonod[408]:
plugins/udev.c:udev_event() subsystem net finished
Jan 1 07:56:39 mx31tt01 user.debug connMan[371]: Got connection context
signal Active, Val = true
Jan 1 07:56:39 mx31tt01 user.debug connMan[371]: Method is a string static
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Set up ip ip addr add
2.200.229.88/32 dev ppp0
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Domain name servers:
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: 139.7.30.126
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Adding route ip route
add 139.7.30.126/32 dev ppp0
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: 139.7.30.125
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Adding route ip route
add 139.7.30.125/32 dev ppp0
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: resolv.conf file will
look like this:
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: nameserver 139.7.30.126
nameserver 139.7.30.125
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Writing resolv.conf
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Setting default route
for interface ppp0
Jan 1 07:56:39 mx31tt01 user.info connMan[371]: Adding default route
route add default gw 2.200.229.88 ppp0
Jan 1 07:56:40 mx31tt01 daemon.debug ofonod[408]:
plugins/udevng.c:check_modem_list()
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.NetworkRegistration.GetProperties
method return sender=:1.5 -> dest=:1.16 reply_serial=2
array [
dict entry(
string "Status"
variant string "registered"
)
dict entry(
string "Mode"
variant string "auto"
)
dict entry(
string "LocationAreaCode"
variant uint16 832
)
dict entry(
string "CellId"
variant uint32 49481
)
dict entry(
string "Name"
variant string ""
)
dict entry(
string "Strength"
variant byte 100
)
]
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.ConnectionManager.GetProperties
method return sender=:1.5 -> dest=:1.17 reply_serial=2
array [
dict entry(
string "Attached"
variant boolean true
)
dict entry(
string "Bearer"
variant string "none"
)
dict entry(
string "RoamingAllowed"
variant boolean true
)
dict entry(
string "Powered"
variant boolean true
)
dict entry(
string "Suspended"
variant boolean false
)
]
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.ConnectionManager.GetContexts
method return sender=:1.5 -> dest=:1.18 reply_serial=2
array [
struct {
object path "/telit_0/context2"
array [
dict entry(
string "Name"
variant string "Internet"
)
dict entry(
string "Active"
variant boolean true
)
dict entry(
string "Type"
variant string "internet"
)
dict entry(
string "Protocol"
variant string "ip"
)
dict entry(
string "AccessPointName"
variant string "web.vodafone.de"
)
dict entry(
string "Username"
variant string ""
)
dict entry(
string "Password"
variant string ""
)
dict entry(
string "Settings"
variant array [
dict entry(
string "Interface"
variant string "ppp0"
)
dict entry(
string "Method"
variant string "static"
)
dict entry(
string "Address"
variant string
"2.200.229.88"
)
dict entry(
string "Netmask"
variant string
"255.255.255.255"
)
dict entry(
string "DomainNameServers"
variant array [
string "139.7.30.126"
string "139.7.30.125"
]
)
]
)
dict entry(
string "IPv6.Settings"
variant array [
]
)
]
}
]
After disconnecting the antenna:
Jan 1 08:02:25 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CREG: 2\r\n
Jan 1 08:02:25 mx31tt01 daemon.debug ofonod[408]:
src/network.c:ofono_netreg_status_notify() /telit_0 status 2 tech -1
Jan 1 08:02:25 mx31tt01 daemon.debug ofonod[408]:
src/network.c:current_operator_callback() 0x1b79df8, 0x1b80eb0
Jan 1 08:02:25 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:netreg_status_changed() 2
Jan 1 08:02:25 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:netreg_status_changed() 2
Jan 1 08:02:25 mx31tt01 user.debug connMan[371]: Got network
registration signal Status: 'searching'
Jan 1 08:02:25 mx31tt01 user.err connMan[371]:
checkAndSetOperatorSelection()
Jan 1 08:02:25 mx31tt01 daemon.info ofonod[408]: Aux: > AT+CGATT=0\r
Jan 1 08:02:25 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG: 2\r\n
Jan 1 08:02:25 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
Jan 1 08:02:25 mx31tt01 user.debug connMan[371]: Got network
registration signal Name: ''
Jan 1 08:02:25 mx31tt01 user.debug connMan[371]: Got connection context
signal Settings, Val = @a{sv} {}
Jan 1 08:02:25 mx31tt01 user.debug connMan[371]: Got connection context
signal Active, Val = false
Jan 1 08:02:25 mx31tt01 user.info connMan[371]: Connection context has
been deactivated.
Jan 1 08:02:25 mx31tt01 user.debug connMan[371]: Got connection manager
signal Attached, Val = false
Jan 1 08:02:25 mx31tt01 user.info connMan[371]: Detached - all contexts
have been deactivated
Jan 1 08:02:25 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:gprs_remove_context() Unregistering context: /telit_0/context2
Jan 1 08:02:25 mx31tt01 user.debug connMan[371]: Got connection manager
signal Powered, Val = false
Jan 1 08:02:28 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CME ERROR:
30\r\n
Jan 1 08:02:28 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:gprs_attach_callback() /telit_0 error = 1
Jan 1 08:02:28 mx31tt01 daemon.info ofonod[408]: Aux: > AT+CGREG?\r
Jan 1 08:02:28 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG:
2,2\r\n\r\nOK\r\n
Jan 1 08:02:28 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:registration_status_cb() /telit_0 error 0 status 2
Jan 1 08:02:28 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.NetworkRegistration.GetProperties
method return sender=:1.5 -> dest=:1.21 reply_serial=2
array [
dict entry(
string "Status"
variant string "searching"
)
dict entry(
string "Mode"
variant string "auto"
)
dict entry(
string "Name"
variant string ""
)
]
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.ConnectionManager.GetProperties
method return sender=:1.5 -> dest=:1.22 reply_serial=2
array [
dict entry(
string "Attached"
variant boolean false
)
dict entry(
string "RoamingAllowed"
variant boolean true
)
dict entry(
string "Powered"
variant boolean false
)
]
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.ConnectionManager.GetContexts
method return sender=:1.5 -> dest=:1.23 reply_serial=2
array [
]
After reconnecting the antenna:
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGEV: ME
DETACH\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_detached_notify() /telit_0
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CREG:
1,"0340","143D"\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/network.c:ofono_netreg_status_notify() /telit_0 status 1 tech -1
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:netreg_status_changed() 1
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal Status: 'registered'
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal LocationAreaCode: uint16 832
Jan 1 08:08:48 mx31tt01 user.err connMan[371]:
checkAndSetOperatorSelection()
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS=3,2\r
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG: 0\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 0
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\nOK\r\n
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS?\r
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+COPS:
0,2,"26202",0\r\n\r\nOK\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric
got mcc: 262, mnc: 02
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+CIND?\r
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CIND:
4,99,1,0,0,0,0,0,2\r\n\r\nOK\r\n
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal CellId: uint32 5181
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got connection manager
signal Powered, Val = true
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/network.c:ofono_netreg_strength_notify() strength 40
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS=3,0\r
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\nOK\r\n
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS?\r
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal Strength: byte 0x28
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+COPS:
0,0,"Vodafone D2",0\r\n\r\nOK\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
drivers/atmodem/network-registration.c:cops_cb() cops_cb: Vodafone D2,
262 02 0
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/network.c:current_operator_callback() 0x1b79df8, (nil)
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal Name: 'Vodafone D2'
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:netreg_status_changed() 1
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+CGATT=1\r
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal MobileCountryCode: '262'
Jan 1 08:08:48 mx31tt01 user.debug connMan[371]: Got network
registration signal MobileNetworkCode: '02'
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\nOK\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:gprs_attach_callback() /telit_0 error = 0
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: > AT+CGREG?\r
Jan 1 08:08:48 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG:
2,0\r\n\r\nOK\r\n
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:registration_status_cb() /telit_0 error 0 status 0
Jan 1 08:08:48 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 0
Jan 1 08:08:57 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG: 2\r\n
Jan 1 08:08:57 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
Jan 1 08:08:57 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG:
1,"0340","143D"\r\n
Jan 1 08:08:57 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 1
Jan 1 08:08:57 mx31tt01 user.debug connMan[371]: Got connection manager
signal Attached, Val = true
Jan 1 08:08:57 mx31tt01 user.info connMan[371]: Attached
Jan 1 08:08:57 mx31tt01 user.debug connMan[371]: Getting first internet
context ...
Jan 1 08:08:57 mx31tt01 user.debug connMan[371]: No internet context
found! Adding a new internet context.
Jan 1 08:08:57 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:add_context() Registering new context
Jan 1 08:08:57 mx31tt01 user.debug connMan[371]: Context path:
/telit_0/context3
Jan 1 08:08:57 mx31tt01 user.debug connMan[371]: Connecting to
org.ofono.ConnectionContext PropertyChanged signal.
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Connecting to
org.ofono.ConnectionContext ContextAdded signal.
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Connecting to
org.ofono.ConnectionContext ContextRemoved signal.
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: set_and_activate_context()
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Setting and Activating
the Internet connection context.
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: mccmnc = '26202', len = 5
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Provider name '1&1'
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Set AccessPointName:
web.vodafone.de
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Set Username:
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Set Password:
Jan 1 08:08:58 mx31tt01 user.debug connMan[371]: Trying to set
context:web.vodafone.de
Jan 1 08:08:58 mx31tt01 daemon.debug ofonod[408]:
drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CREG:
1,"0340","C149"\r\n
Jan 1 08:09:18 mx31tt01 daemon.debug ofonod[408]:
src/network.c:ofono_netreg_status_notify() /telit_0 status 1 tech -1
Jan 1 08:09:18 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:netreg_status_changed() 1
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS=3,2\r
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CGREG:
1,"0340","C149"\r\n
Jan 1 08:09:18 mx31tt01 daemon.debug ofonod[408]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 1
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\nOK\r\n
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS?\r
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+COPS:
0,2,"26202",0\r\n\r\nOK\r\n
Jan 1 08:09:18 mx31tt01 daemon.debug ofonod[408]:
drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric
got mcc: 262, mnc: 02
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: > AT+CIND?\r
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+CIND:
4,99,1,0,0,0,0,0,2\r\n\r\nOK\r\n
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS=3,0\r
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\nOK\r\n
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: > AT+COPS?\r
Jan 1 08:09:18 mx31tt01 daemon.info ofonod[408]: Aux: < \r\n+COPS:
0,0,"Vodafone D2",0\r\n\r\nOK\r\n
Jan 1 08:09:18 mx31tt01 daemon.debug ofonod[408]:
drivers/atmodem/network-registration.c:cops_cb() cops_cb: Vodafone D2,
262 02 0
Jan 1 08:09:18 mx31tt01 daemon.debug ofonod[408]:
src/network.c:current_operator_callback() 0x1b79df8, 0x1b80eb0
Jan 1 08:09:23 mx31tt01 user.debug connMan[371]: Got connection context
signal AccessPointName, Val = 'web.vodafone.de'
Jan 1 08:09:23 mx31tt01 user.info connMan[371]: APN: web.vodafone.de
Jan 1 08:09:23 mx31tt01 user.debug connMan[371]: Got network
registration signal CellId: uint32 49481
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.NetworkRegistration.GetProperties
method return sender=:1.5 -> dest=:1.24 reply_serial=2
array [
dict entry(
string "Status"
variant string "registered"
)
dict entry(
string "Mode"
variant string "auto"
)
dict entry(
string "LocationAreaCode"
variant uint16 832
)
dict entry(
string "CellId"
variant uint32 49481
)
dict entry(
string "MobileCountryCode"
variant string "262"
)
dict entry(
string "MobileNetworkCode"
variant string "02"
)
dict entry(
string "Name"
variant string "Vodafone D2"
)
dict entry(
string "Strength"
variant byte 40
)
]
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.ConnectionManager.GetProperties
method return sender=:1.5 -> dest=:1.25 reply_serial=2
array [
dict entry(
string "Attached"
variant boolean true
)
dict entry(
string "RoamingAllowed"
variant boolean true
)
dict entry(
string "Powered"
variant boolean true
)
dict entry(
string "Suspended"
variant boolean false
)
]
dbus-send --system --type=method_call --print-reply --dest=org.ofono
/telit_0 org.ofono.ConnectionManager.GetContexts
method return sender=:1.5 -> dest=:1.26 reply_serial=2
array [
struct {
object path "/telit_0/context3"
array [
dict entry(
string "Name"
variant string "Internet"
)
dict entry(
string "Active"
variant boolean false
)
dict entry(
string "Type"
variant string "internet"
)
dict entry(
string "Protocol"
variant string "ip"
)
dict entry(
string "AccessPointName"
variant string "web.vodafone.de"
)
dict entry(
string "Username"
variant string ""
)
dict entry(
string "Password"
variant string ""
)
dict entry(
string "Settings"
variant array [
dict entry(
string "Method"
variant string "dhcp"
)
]
)
dict entry(
string "IPv6.Settings"
variant array [
]
)
]
}
]
--
Scanned by MailScanner.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re-activating a context.
2012-07-12 14:50 Re-activating a context Christopher Vogl
@ 2012-07-12 20:49 ` Denis Kenzior
2012-07-13 10:12 ` Christopher Vogl
0 siblings, 1 reply; 7+ messages in thread
From: Denis Kenzior @ 2012-07-12 20:49 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 1768 bytes --]
Hi Christopher,
On 07/12/2012 09:50 AM, Christopher Vogl wrote:
> Hello,
>
> I am trying to simulate a connection loss and after a valid ppp
> connection I disconnect the antenna to get detached from GPRS.
> After reconnecting the antenna everything seems to work fine just until
> activating the context.
>
> Ofono seems to get stuck in
> drivers/atmodem/gprs-context.c:at_gprs_activate_primary() and
> AT+CGDCONT=1 is missing on the debug output.
> When I retry to activate the context after some minutes with a dbus-send
> call, I receive an operation in progress error.
>
> Below I have attached ofono's debug output and dbus-send calls for
> important interfaces
> - before removing the antenna
> - after removing the antenna
> - after reconnecting the antenna
>
> Modem in use: Telit UC864-G
>
> connMan in the debug output is my own simple connection manger. I am not
> sure if I missed to set some ofono state or if there is a known issue.
> I really would appreciate a hint in this case.
>
To me it looks like your PPP connection has not been dropped when the
antenna has been removed. Today oFono assumes that the PPP connection
will be dropped by the modem in this case, and your modem does not do
this. This leads to problems because the AT channel on which the PPP
connection is being run can not accept additional commands. This is why
you're not seeing the CGDCONT.
A while ago Guillaume posted a patch to fix this problem (we saw this
with Huawei PPP based devices). The patch looked good to me but needed
further testing (e.g. for regressions). Can you dig the mailing
archives and test that patch?
Or maybe Guillaume will be nice enough to repost it to the mailing list.
Regards,
-Denis
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re-activating a context.
2012-07-12 20:49 ` Denis Kenzior
@ 2012-07-13 10:12 ` Christopher Vogl
2012-07-13 13:39 ` Guillaume Zajac
0 siblings, 1 reply; 7+ messages in thread
From: Christopher Vogl @ 2012-07-13 10:12 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 26320 bytes --]
Hi Denis,
On 12/07/12 22:49, Denis Kenzior wrote:
> Hi Christopher,
>
> On 07/12/2012 09:50 AM, Christopher Vogl wrote:
>> Hello,
>>
>> I am trying to simulate a connection loss and after a valid ppp
>> connection I disconnect the antenna to get detached from GPRS.
>> After reconnecting the antenna everything seems to work fine just until
>> activating the context.
>>
>> Ofono seems to get stuck in
>> drivers/atmodem/gprs-context.c:at_gprs_activate_primary() and
>> AT+CGDCONT=1 is missing on the debug output.
>> When I retry to activate the context after some minutes with a dbus-send
>> call, I receive an operation in progress error.
>>
>> Below I have attached ofono's debug output and dbus-send calls for
>> important interfaces
>> - before removing the antenna
>> - after removing the antenna
>> - after reconnecting the antenna
>>
>> Modem in use: Telit UC864-G
>>
>> connMan in the debug output is my own simple connection manger. I am not
>> sure if I missed to set some ofono state or if there is a known issue.
>> I really would appreciate a hint in this case.
>>
>
> To me it looks like your PPP connection has not been dropped when the
> antenna has been removed. Today oFono assumes that the PPP connection
> will be dropped by the modem in this case, and your modem does not do
> this. This leads to problems because the AT channel on which the PPP
> connection is being run can not accept additional commands. This is
> why you're not seeing the CGDCONT.
>
> A while ago Guillaume posted a patch to fix this problem (we saw this
> with Huawei PPP based devices). The patch looked good to me but
> needed further testing (e.g. for regressions). Can you dig the
> mailing archives and test that patch?
>
> Or maybe Guillaume will be nice enough to repost it to the mailing list.
Thanks Denis!
I found the patch from Guillaume and applied it (ofono 1.7 & 1.8).
The ppp connection seems to get dropped now when I remove the antenna
but does not come up again correctly when I reconnect the antenna.
Regards,
Christopher
After disconnecting the antenna:
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CREG: 2\r\n
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
src/network.c:ofono_netreg_status_notify() /telit_0 status 2 tech -1
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
src/network.c:current_operator_callback() 0x1bed30, (nil)
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:netreg_status_changed() 2
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGATT=0\r
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG: 2\r\n
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:at_gprs_release_primary() cid 1
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 9:OPENED
Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got network
registration signal Status: 'searching'
Jan 1 01:18:53 mx31tt01 user.err connMan[803]:
checkAndSetOperatorSelection()
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 3 (Close),
action: 8224, new_state: 4 (CLOSING)
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_initialize_restart_count: current state 9:OPENED
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_send_terminate_request: current state 9:OPENED
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 9:OPENED
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 1 (Down),
action: 201, new_state: 1 (STARTING)
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 5
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
plugins/udevng.c:remove_device() /sys/devices/virtual/net/ppp0
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
plugins/udev.c:udev_event() subsystem net remove
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
plugins/udev.c:remove_modem() /devices/virtual/net/ppp0
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
plugins/udev.c:udev_event() subsystem net finished
Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got connection manager
signal Attached, Val = false
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_process_terminate_ack: current state 4:CLOSING
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 4:CLOSING
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 11 (RTA),
action: 802, new_state: 2 (CLOSED)
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_this_layer_finished: current state 2:CLOSED
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 0
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:at_gprs_deactivate_primary() cid 1
Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_dead()
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:ppp_disconnect()
Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:gprs_remove_context() Unregistering context: /telit_0/context1
Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got connection manager
signal Powered, Val = false
Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CME ERROR:
30\r\n
Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:gprs_attach_callback() /telit_0 error = 1
Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGREG?\r
Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
2,2\r\n\r\nOK\r\n
Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:registration_status_cb() /telit_0 error 0 status 2
Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
Jan 1 01:19:30 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nNO
CARRIER\r\n
After reconnecting the antenna:
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGEV: ME
DETACH\r\n
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV: ME
DETACH\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_detached_notify() /telit_0
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CREG:
1,"0340","C149"\r\n
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CREG:
1,"0340","C149"\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/network.c:ofono_netreg_status_notify() /telit_0 status 1 tech 3
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal Status: 'registered'
Jan 1 01:20:12 mx31tt01 user.err connMan[803]:
checkAndSetOperatorSelection()
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:netreg_status_changed() 1
Jan 1 01:20:12 mx31tt01 user.notice ttsession: void
hale::gtk::StatusBar::on_tech_changed(const std::string&), this =
0x1316000, New technology: edge
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS=3,2\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG: 0\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 0
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGREG:
0\r\n
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal LocationAreaCode: uint16 832
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal CellId: uint32 49481
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal Technology: 'edge'
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got connection manager
signal Powered, Val = true
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS?\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+COPS:
0,2,"26202",0\r\n\r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric
got mcc: 262, mnc: 02
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CIND?\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CIND:
4,99,1,0,0,0,0,0,1\r\n\r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/network.c:ofono_netreg_strength_notify() strength 20
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal Strength: byte 0x14
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGATT=1\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:gprs_attach_callback() /telit_0 error = 0
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS=3,0\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS?\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+COPS:
0,0,"Vodafone D2",0\r\n\r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/network-registration.c:cops_cb() cops_cb: Vodafone D2,
262 02 0
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/network.c:current_operator_callback() 0x1bed30, (nil)
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal Name: 'Vodafone D2'
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:netreg_status_changed() 1
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal MobileCountryCode: '262'
Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
registration signal MobileNetworkCode: '02'
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGREG?\r
Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
2,0\r\n\r\nOK\r\n
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:registration_status_cb() /telit_0 error 0 status 0
Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 0
Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGREG:
2\r\n
Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG: 2\r\n
Jan 1 01:20:14 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGREG:
1,"0340","C149"\r\n
Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
1,"0340","C149"\r\n
Jan 1 01:20:14 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:ofono_gprs_status_notify() /telit_0 status 1
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Got connection manager
signal Attached, Val = true
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Getting first internet
context ...
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: No internet context
found! Adding a new internet context.
Jan 1 01:20:14 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:add_context() Registering new context
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Context path:
/telit_0/context2
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Connecting to
org.ofono.ConnectionContext PropertyChanged signal.
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Connecting to
org.ofono.ConnectionContext ContextAdded signal.
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Connecting to
org.ofono.ConnectionContext ContextRemoved signal.
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]:
set_and_activate_context()
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Setting and Activating
the Internet connection context.
Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: mccmnc = '26202', len = 5
Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Provider name '1&1'
Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set AccessPointName:
web.vodafone.de
Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set Username:
Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set Password:
Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Trying to set
context:web.vodafone.de
Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: >
AT+CGDCONT=1,"IP","web.vodafone.de"\r
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nOK\r\n
Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:at_cgdcont_cb() ok 1
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: >
AT+CGDATA="PPP",1\r
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nCONNECT\r\n
Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:at_cgdata_cb() ok 1
Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:setup_ppp()
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 0:INITIAL
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 0 (Up),
action: 2, new_state: 2 (CLOSED)
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 2:CLOSED
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 2 (Open),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_initialize_restart_count: current state 2:CLOSED
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_send_configure_request: current state 2:CLOSED
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 1
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_process_configure_request: current state 6:REQSENT
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 6 (RCR+),
action: 2008, new_state: 8 (ACKSENT)
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_send_configure_ack: current state 6:REQSENT
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_process_configure_ack: current state 8:ACKSENT
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 8:ACKSENT
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 8 (RCA),
action: 129, new_state: 9 (OPENED)
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_initialize_restart_count: current state 8:ACKSENT
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 2
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 3
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 0:INITIAL
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 2 (Open),
action: 401, new_state: 1 (STARTING)
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 1:STARTING
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 0 (Up),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 1:STARTING
Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 1:STARTING
Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_process_configure_nak: current state 6:REQSENT
Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_process_configure_nak: current state 6:REQSENT
Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_process_configure_nak: current state 6:REQSENT
Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_process_configure_nak: current state 6:REQSENT
Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_process_configure_nak: current state 6:REQSENT
Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_process_configure_nak: current state 6:REQSENT
Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
action: 1026, new_state: 6 (REQSENT)
Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_initialize_restart_count: current state 6:REQSENT
Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV: ME
DEACT IP, , 1\r\n
Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:40 mx31tt01 user.debug connMan[803]: Got connection context
signal AccessPointName, Val = 'web.vodafone.de'
Jan 1 01:20:40 mx31tt01 user.info connMan[803]: APN: web.vodafone.de
Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 1006, new_state: 6 (REQSENT)
Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_send_configure_request: current state 6:REQSENT
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_timeout: current state 6:REQSENT
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 6:REQSENT
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 5 (TO-),
action: 803, new_state: 3 (STOPPED)
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_this_layer_finished: current state 3:STOPPED
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 3:STOPPED
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 3 (Close),
action: 2, new_state: 2 (CLOSED)
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 9:OPENED
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 3 (Close),
action: 8224, new_state: 4 (CLOSING)
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_initialize_restart_count: current state 9:OPENED
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_send_terminate_request: current state 9:OPENED
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
pppcp_generate_event: current state 2:CLOSED
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 1 (Down),
action: 0, new_state: 0 (INITIAL)
Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 5
Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_timeout: current state 4:CLOSING
Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 4:CLOSING
Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
action: 8004, new_state: 4 (CLOSING)
Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_send_terminate_request: current state 4:CLOSING
Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_timeout: current state 4:CLOSING
Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_generate_event: current state 4:CLOSING
Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: event: 5 (TO-),
action: 802, new_state: 2 (CLOSED)
Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
pppcp_this_layer_finished: current state 2:CLOSED
Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 0
Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP:
gatchat/gatppp.c:ppp_dead()
Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
drivers/atmodem/gprs-context.c:ppp_disconnect()
Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:pri_activate_callback() 0x1ce500
Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
src/gprs.c:pri_activate_callback() Activating context failed with error:
Unknown error type
--
Scanned by MailScanner.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re-activating a context.
2012-07-13 10:12 ` Christopher Vogl
@ 2012-07-13 13:39 ` Guillaume Zajac
2012-07-16 12:31 ` Christopher Vogl
2012-08-29 18:40 ` Chrisopher Vogl
0 siblings, 2 replies; 7+ messages in thread
From: Guillaume Zajac @ 2012-07-13 13:39 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 28686 bytes --]
Hi Christopher,
On 13/07/2012 12:12, Christopher Vogl wrote:
>>>
>>> I am trying to simulate a connection loss and after a valid ppp
>>> connection I disconnect the antenna to get detached from GPRS.
>>> After reconnecting the antenna everything seems to work fine just until
>>> activating the context.
>>>
>>> Ofono seems to get stuck in
>>> drivers/atmodem/gprs-context.c:at_gprs_activate_primary() and
>>> AT+CGDCONT=1 is missing on the debug output.
>>> When I retry to activate the context after some minutes with a
>>> dbus-send
>>> call, I receive an operation in progress error.
>>>
>>> Below I have attached ofono's debug output and dbus-send calls for
>>> important interfaces
>>> - before removing the antenna
>>> - after removing the antenna
>>> - after reconnecting the antenna
>>>
>>> Modem in use: Telit UC864-G
>>>
>>> connMan in the debug output is my own simple connection manger. I am
>>> not
>>> sure if I missed to set some ofono state or if there is a known issue.
>>> I really would appreciate a hint in this case.
>>>
>>
>> To me it looks like your PPP connection has not been dropped when the
>> antenna has been removed. Today oFono assumes that the PPP
>> connection will be dropped by the modem in this case, and your modem
>> does not do this. This leads to problems because the AT channel on
>> which the PPP connection is being run can not accept additional
>> commands. This is why you're not seeing the CGDCONT.
>>
>> A while ago Guillaume posted a patch to fix this problem (we saw this
>> with Huawei PPP based devices). The patch looked good to me but
>> needed further testing (e.g. for regressions). Can you dig the
>> mailing archives and test that patch?
>>
>> Or maybe Guillaume will be nice enough to repost it to the mailing list.
>
>
> Thanks Denis!
> I found the patch from Guillaume and applied it (ofono 1.7 & 1.8).
> The ppp connection seems to get dropped now when I remove the antenna
> but does not come up again correctly when I reconnect the antenna.
>
I have a new version but only naming is changed but the main goal of
this set of patches is to end properly the PPP connection which goal you
seem to have reached.
I guess you are using upstream oFono and ConnMan version right?
>
> After disconnecting the antenna:
>
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CREG: 2\r\n
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> src/network.c:ofono_netreg_status_notify() /telit_0 status 2 tech -1
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> src/network.c:current_operator_callback() 0x1bed30, (nil)
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:netreg_status_changed() 2
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGATT=0\r
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
> 2\r\n
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:at_gprs_release_primary() cid 1
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 9:OPENED
> Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got network
> registration signal Status: 'searching'
> Jan 1 01:18:53 mx31tt01 user.err connMan[803]:
> checkAndSetOperatorSelection()
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 3
> (Close), action: 8224, new_state: 4 (CLOSING)
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_initialize_restart_count: current state 9:OPENED
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_send_terminate_request: current state 9:OPENED
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 9:OPENED
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 1
> (Down), action: 201, new_state: 1 (STARTING)
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 5
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> plugins/udevng.c:remove_device() /sys/devices/virtual/net/ppp0
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> plugins/udev.c:udev_event() subsystem net remove
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> plugins/udev.c:remove_modem() /devices/virtual/net/ppp0
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> plugins/udev.c:udev_event() subsystem net finished
> Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got connection
> manager signal Attached, Val = false
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_process_terminate_ack: current state 4:CLOSING
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 4:CLOSING
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 11
> (RTA), action: 802, new_state: 2 (CLOSED)
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_this_layer_finished: current state 2:CLOSED
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 0
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:at_gprs_deactivate_primary() cid 1
> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_dead()
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:ppp_disconnect()
> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:gprs_remove_context() Unregistering context: /telit_0/context1
> Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got connection
> manager signal Powered, Val = false
> Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CME
> ERROR: 30\r\n
> Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:gprs_attach_callback() /telit_0 error = 1
> Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGREG?\r
> Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
> 2,2\r\n\r\nOK\r\n
> Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:registration_status_cb() /telit_0 error 0 status 2
> Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
>
> Jan 1 01:19:30 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nNO
> CARRIER\r\n
>
>
So your PPP session seems to be well ended.
>
>
> After reconnecting the antenna:
>
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGEV:
> ME DETACH\r\n
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV: ME
> DETACH\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_detached_notify() /telit_0
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CREG:
> 1,"0340","C149"\r\n
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CREG:
> 1,"0340","C149"\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/network.c:ofono_netreg_status_notify() /telit_0 status 1 tech 3
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal Status: 'registered'
> Jan 1 01:20:12 mx31tt01 user.err connMan[803]:
> checkAndSetOperatorSelection()
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:netreg_status_changed() 1
> Jan 1 01:20:12 mx31tt01 user.notice ttsession: void
> hale::gtk::StatusBar::on_tech_changed(const std::string&), this =
> 0x1316000, New technology: edge
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS=3,2\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
> 0\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 0
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGREG:
> 0\r\n
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal LocationAreaCode: uint16 832
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal CellId: uint32 49481
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal Technology: 'edge'
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got connection
> manager signal Powered, Val = true
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS?\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+COPS:
> 0,2,"26202",0\r\n\r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/network-registration.c:cops_numeric_cb() Cops numeric
> got mcc: 262, mnc: 02
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CIND?\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CIND:
> 4,99,1,0,0,0,0,0,1\r\n\r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/network.c:ofono_netreg_strength_notify() strength 20
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal Strength: byte 0x14
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGATT=1\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:gprs_attach_callback() /telit_0 error = 0
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS=3,0\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+COPS?\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+COPS:
> 0,0,"Vodafone D2",0\r\n\r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/network-registration.c:cops_cb() cops_cb: Vodafone D2,
> 262 02 0
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/network.c:current_operator_callback() 0x1bed30, (nil)
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal Name: 'Vodafone D2'
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:netreg_status_changed() 1
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal MobileCountryCode: '262'
> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
> registration signal MobileNetworkCode: '02'
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGREG?\r
> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
> 2,0\r\n\r\nOK\r\n
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:registration_status_cb() /telit_0 error 0 status 0
> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 0
> Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGREG:
> 2\r\n
> Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
> 2\r\n
> Jan 1 01:20:14 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
> Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGREG:
> 1,"0340","C149"\r\n
> Jan 1 01:20:14 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
> 1,"0340","C149"\r\n
> Jan 1 01:20:14 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 1
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Got connection
> manager signal Attached, Val = true
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Getting first
> internet context ...
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: No internet context
> found! Adding a new internet context.
> Jan 1 01:20:14 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:add_context() Registering new context
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Context path:
> /telit_0/context2
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Connecting to
> org.ofono.ConnectionContext PropertyChanged signal.
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Connecting to
> org.ofono.ConnectionContext ContextAdded signal.
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Connecting to
> org.ofono.ConnectionContext ContextRemoved signal.
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]:
> set_and_activate_context()
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Setting and
> Activating the Internet connection context.
> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: mccmnc = '26202',
> len = 5
> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Provider name '1&1'
> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set AccessPointName:
> web.vodafone.de
> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set Username:
> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set Password:
> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Trying to set
> context:web.vodafone.de
> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: >
> AT+CGDCONT=1,"IP","web.vodafone.de"\r
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nOK\r\n
> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:at_cgdcont_cb() ok 1
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: >
> AT+CGDATA="PPP",1\r
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: <
> \r\nCONNECT\r\n
> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:at_cgdata_cb() ok 1
> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:setup_ppp()
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 0:INITIAL
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 0 (Up),
> action: 2, new_state: 2 (CLOSED)
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 2:CLOSED
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 2
> (Open), action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_initialize_restart_count: current state 2:CLOSED
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_send_configure_request: current state 2:CLOSED
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 1
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_process_configure_request: current state 6:REQSENT
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 6
> (RCR+), action: 2008, new_state: 8 (ACKSENT)
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_send_configure_ack: current state 6:REQSENT
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_process_configure_ack: current state 8:ACKSENT
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 8:ACKSENT
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 8 (RCA),
> action: 129, new_state: 9 (OPENED)
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_initialize_restart_count: current state 8:ACKSENT
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 2
As you use no username and no password authentication phase is passed
through. It is ok.
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 3
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 0:INITIAL
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 2
> (Open), action: 401, new_state: 1 (STARTING)
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 1:STARTING
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 0 (Up),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 1:STARTING
> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 1:STARTING
> Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_process_configure_nak: current state 6:REQSENT
> Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 6:REQSENT
> Jan 1 01:20:16 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_process_configure_nak: current state 6:REQSENT
> Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 6:REQSENT
> Jan 1 01:20:17 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_process_configure_nak: current state 6:REQSENT
> Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 6:REQSENT
> Jan 1 01:20:18 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_process_configure_nak: current state 6:REQSENT
> Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 6:REQSENT
> Jan 1 01:20:19 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_process_configure_nak: current state 6:REQSENT
> Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 6:REQSENT
> Jan 1 01:20:20 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_process_configure_nak: current state 6:REQSENT
> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: event: 9 (RCN),
> action: 1026, new_state: 6 (REQSENT)
> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_initialize_restart_count: current state 6:REQSENT
> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV: ME
> DEACT IP, , 1\r\n
It seems IP Control Protocol is failing so that modem cannot receive the
IP configuration from the network.
IP phase is deactivated by the modem itself.
I don't know what is happening there.
> Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:27 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:30 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:33 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:36 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:39 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:40 mx31tt01 user.debug connMan[803]: Got connection
> context signal AccessPointName, Val = 'web.vodafone.de'
> Jan 1 01:20:40 mx31tt01 user.info connMan[803]: APN: web.vodafone.de
> Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:42 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:45 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 1006, new_state: 6 (REQSENT)
> Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_send_configure_request: current state 6:REQSENT
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_timeout: current state 6:REQSENT
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 6:REQSENT
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 5 (TO-),
> action: 803, new_state: 3 (STOPPED)
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_this_layer_finished: current state 3:STOPPED
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 3:STOPPED
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 3
> (Close), action: 2, new_state: 2 (CLOSED)
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 9:OPENED
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 3
> (Close), action: 8224, new_state: 4 (CLOSING)
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_initialize_restart_count: current state 9:OPENED
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_send_terminate_request: current state 9:OPENED
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
> pppcp_generate_event: current state 2:CLOSED
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 1
> (Down), action: 0, new_state: 0 (INITIAL)
> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 5
> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_timeout: current state 4:CLOSING
> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 4:CLOSING
> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: event: 4 (TO+),
> action: 8004, new_state: 4 (CLOSING)
> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_send_terminate_request: current state 4:CLOSING
> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_timeout: current state 4:CLOSING
> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_generate_event: current state 4:CLOSING
> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: event: 5 (TO-),
> action: 802, new_state: 2 (CLOSED)
> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
> pppcp_this_layer_finished: current state 2:CLOSED
> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_enter_phase() 0
> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP:
> gatchat/gatppp.c:ppp_dead()
> Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
> drivers/atmodem/gprs-context.c:ppp_disconnect()
I guess the disconnect reason is G_AT_PPP_REASON_IPCP_FAIL( according to
gatppp.h enum) but you could still add a trace in ppp_disconnect() into
drivers/atmodem/gprs-context.c:
DBG("Reason: %d", reason);
to be sure.
> Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:pri_activate_callback() 0x1ce500
> Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
> src/gprs.c:pri_activate_callback() Activating context failed with
> error: Unknown error type
>
Did you try to activate manually the context from oFono test scripts
after this failure?
Although ConnMan is correctly waiting for the modem to be attached to
the network before trying to reconnect, maybe modem is not internally
ready to reconnect. The reason might be PPP session ending is initiated
by oFono core and not the modem itself.
With Huawei modems we also noticed that automatic reconnection was
sometime failing also. But testing conditions were not the same as we
could not disconnect the antenna.
Anyway I am not a PPP expert but something wrong is happening between
the network and your modem because not IP configuration is sent by the
network.
Kind regards,
Guillaume
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re-activating a context.
2012-07-13 13:39 ` Guillaume Zajac
@ 2012-07-16 12:31 ` Christopher Vogl
2012-08-29 18:40 ` Chrisopher Vogl
1 sibling, 0 replies; 7+ messages in thread
From: Christopher Vogl @ 2012-07-16 12:31 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 19874 bytes --]
Hi Guillaume,
On 13/07/12 15:39, Guillaume Zajac wrote:
> Hi Christopher,
>
> On 13/07/2012 12:12, Christopher Vogl wrote:
>>>>
>>>> I am trying to simulate a connection loss and after a valid ppp
>>>> connection I disconnect the antenna to get detached from GPRS.
>>>> After reconnecting the antenna everything seems to work fine just
>>>> until
>>>> activating the context.
>>>>
>>>> Ofono seems to get stuck in
>>>> drivers/atmodem/gprs-context.c:at_gprs_activate_primary() and
>>>> AT+CGDCONT=1 is missing on the debug output.
>>>> When I retry to activate the context after some minutes with a
>>>> dbus-send
>>>> call, I receive an operation in progress error.
>>>>
>>>> Below I have attached ofono's debug output and dbus-send calls for
>>>> important interfaces
>>>> - before removing the antenna
>>>> - after removing the antenna
>>>> - after reconnecting the antenna
>>>>
>>>> Modem in use: Telit UC864-G
>>>>
>>>> connMan in the debug output is my own simple connection manger. I
>>>> am not
>>>> sure if I missed to set some ofono state or if there is a known issue.
>>>> I really would appreciate a hint in this case.
>>>>
>>>
>>> To me it looks like your PPP connection has not been dropped when
>>> the antenna has been removed. Today oFono assumes that the PPP
>>> connection will be dropped by the modem in this case, and your modem
>>> does not do this. This leads to problems because the AT channel on
>>> which the PPP connection is being run can not accept additional
>>> commands. This is why you're not seeing the CGDCONT.
>>>
>>> A while ago Guillaume posted a patch to fix this problem (we saw
>>> this with Huawei PPP based devices). The patch looked good to me
>>> but needed further testing (e.g. for regressions). Can you dig the
>>> mailing archives and test that patch?
>>>
>>> Or maybe Guillaume will be nice enough to repost it to the mailing
>>> list.
>>
>>
>> Thanks Denis!
>> I found the patch from Guillaume and applied it (ofono 1.7 & 1.8).
>> The ppp connection seems to get dropped now when I remove the antenna
>> but does not come up again correctly when I reconnect the antenna.
>>
>
> I have a new version but only naming is changed but the main goal of
> this set of patches is to end properly the PPP connection which goal
> you seem to have reached.
> I guess you are using upstream oFono and ConnMan version right?
Thank you very much for your patches, they seem to do what they were
intended for.
Sorry for the misleading name in the debug output, but we are not using
THE ConnMan. It is just our own simple connection manager which emerged
from the ofono test scripts.
We did not start with THE ConnMan because we needed special features
like sim switching - we have two sim slots.
Basically we are using upstream ofono but with some patches. Some parts
will be submitted for review soon, e.g. sim retry counter, gprs bearer,
AT&C0 after PPP link was dropped.
We are also using separate serials for the AT chat and the data/PPP.
With some parts we are not sure yet if we can commit anything of it.
These parts are hardware specific and set GPIO pins to switch the sim
cards. i.e. activate one of two sim slots.
These patches are currently implemented as hooks in telit.c. Maybe there
is an elegant generic way to provide the ability to extend ofono with
hardware specific features.
>>
>> After disconnecting the antenna:
>>
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CREG:
>> 2\r\n
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> src/network.c:ofono_netreg_status_notify() /telit_0 status 2 tech -1
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> src/network.c:current_operator_callback() 0x1bed30, (nil)
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:netreg_status_changed() 2
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGATT=0\r
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
>> 2\r\n
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:at_gprs_release_primary() cid 1
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 9:OPENED
>> Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got network
>> registration signal Status: 'searching'
>> Jan 1 01:18:53 mx31tt01 user.err connMan[803]:
>> checkAndSetOperatorSelection()
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 3
>> (Close), action: 8224, new_state: 4 (CLOSING)
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_initialize_restart_count: current state 9:OPENED
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_send_terminate_request: current state 9:OPENED
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_generate_event: current state 9:OPENED
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 1
>> (Down), action: 201, new_state: 1 (STARTING)
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 5
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> plugins/udevng.c:remove_device() /sys/devices/virtual/net/ppp0
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> plugins/udev.c:udev_event() subsystem net remove
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> plugins/udev.c:remove_modem() /devices/virtual/net/ppp0
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> plugins/udev.c:udev_event() subsystem net finished
>> Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got connection
>> manager signal Attached, Val = false
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_process_terminate_ack: current state 4:CLOSING
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 4:CLOSING
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: event: 11
>> (RTA), action: 802, new_state: 2 (CLOSED)
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_this_layer_finished: current state 2:CLOSED
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 0
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:at_gprs_deactivate_primary() cid 1
>> Jan 1 01:18:53 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_dead()
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:ppp_disconnect()
>> Jan 1 01:18:53 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:gprs_remove_context() Unregistering context:
>> /telit_0/context1
>> Jan 1 01:18:53 mx31tt01 user.debug connMan[803]: Got connection
>> manager signal Powered, Val = false
>> Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CME
>> ERROR: 30\r\n
>> Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:gprs_attach_callback() /telit_0 error = 1
>> Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: > AT+CGREG?\r
>> Jan 1 01:18:57 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGREG:
>> 2,2\r\n\r\nOK\r\n
>> Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:registration_status_cb() /telit_0 error 0 status 2
>> Jan 1 01:18:57 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:ofono_gprs_status_notify() /telit_0 status 2
>>
>> Jan 1 01:19:30 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nNO
>> CARRIER\r\n
>>
>>
>
> So your PPP session seems to be well ended.
>
>>
>>
>> After reconnecting the antenna:
>>
>> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CGEV:
>> ME DETACH\r\n
>> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV:
>> ME DETACH\r\n
>> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:ofono_gprs_detached_notify() /telit_0
>> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Modem: < \r\n+CREG:
>> 1,"0340","C149"\r\n
>> Jan 1 01:20:12 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CREG:
>> 1,"0340","C149"\r\n
>> Jan 1 01:20:12 mx31tt01 daemon.debug ofonod[810]:
>> src/network.c:ofono_netreg_status_notify() /telit_0 status 1 tech 3
>> Jan 1 01:20:12 mx31tt01 user.debug connMan[803]: Got network
>> registration signal Status: 'registered'
>> {...}
>> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: Setting and
>> Activating the Internet connection context.
>> Jan 1 01:20:14 mx31tt01 user.debug connMan[803]: mccmnc = '26202',
>> len = 5
>> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Provider name '1&1'
>> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set
>> AccessPointName: web.vodafone.de
>> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set Username:
>> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Set Password:
>> Jan 1 01:20:15 mx31tt01 user.debug connMan[803]: Trying to set
>> context:web.vodafone.de
>> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:at_gprs_activate_primary() cid 1
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: >
>> AT+CGDCONT=1,"IP","web.vodafone.de"\r
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: < \r\nOK\r\n
>> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:at_cgdcont_cb() ok 1
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: >
>> AT+CGDATA="PPP",1\r
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: Modem: <
>> \r\nCONNECT\r\n
>> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:at_cgdata_cb() ok 1
>> Jan 1 01:20:15 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:setup_ppp()
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 0:INITIAL
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 0 (Up),
>> action: 2, new_state: 2 (CLOSED)
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 2:CLOSED
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 2
>> (Open), action: 1026, new_state: 6 (REQSENT)
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_initialize_restart_count: current state 2:CLOSED
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_send_configure_request: current state 2:CLOSED
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 1
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_process_configure_request: current state 6:REQSENT
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 6:REQSENT
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 6
>> (RCR+), action: 2008, new_state: 8 (ACKSENT)
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_send_configure_ack: current state 6:REQSENT
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_process_configure_ack: current state 8:ACKSENT
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 8:ACKSENT
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: event: 8
>> (RCA), action: 129, new_state: 9 (OPENED)
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_initialize_restart_count: current state 8:ACKSENT
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 2
>
> As you use no username and no password authentication phase is passed
> through. It is ok.
For this APN there is no username and password provided and it also
works like that before I remove the antenna.
>
>> Jan 1 01:20:15 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 3
>> {...}
>> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_send_configure_request: current state 6:REQSENT
>
>> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV:
>> ME DEACT IP, , 1\r\n
>
> It seems IP Control Protocol is failing so that modem cannot receive
> the IP configuration from the network.
> IP phase is deactivated by the modem itself.
> I don't know what is happening there.
>
>> Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_timeout: current state 6:REQSENT
>> Jan 1 01:20:24 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_generate_event: current state 6:REQSENT
>> {...}
>> Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: event: 4
>> (TO+), action: 1006, new_state: 6 (REQSENT)
>> Jan 1 01:20:48 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_send_configure_request: current state 6:REQSENT
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_timeout: current state 6:REQSENT
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_generate_event: current state 6:REQSENT
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 5
>> (TO-), action: 803, new_state: 3 (STOPPED)
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_this_layer_finished: current state 3:STOPPED
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_generate_event: current state 3:STOPPED
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 3
>> (Close), action: 2, new_state: 2 (CLOSED)
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 9:OPENED
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 3
>> (Close), action: 8224, new_state: 4 (CLOSING)
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_initialize_restart_count: current state 9:OPENED
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_send_terminate_request: current state 9:OPENED
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_generate_event: current state 2:CLOSED
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP: event: 1
>> (Down), action: 0, new_state: 0 (INITIAL)
>> Jan 1 01:20:51 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 5
>> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_timeout: current state 4:CLOSING
>> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 4:CLOSING
>> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: event: 4
>> (TO+), action: 8004, new_state: 4 (CLOSING)
>> Jan 1 01:20:54 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_send_terminate_request: current state 4:CLOSING
>> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_timeout: current state 4:CLOSING
>> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_generate_event: current state 4:CLOSING
>> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: event: 5
>> (TO-), action: 802, new_state: 2 (CLOSED)
>> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP: lcp:
>> pppcp_this_layer_finished: current state 2:CLOSED
>> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_enter_phase() 0
>> Jan 1 01:20:57 mx31tt01 daemon.info ofonod[810]: PPP:
>> gatchat/gatppp.c:ppp_dead()
>
>> Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
>> drivers/atmodem/gprs-context.c:ppp_disconnect()
>
> I guess the disconnect reason is G_AT_PPP_REASON_IPCP_FAIL( according
> to gatppp.h enum) but you could still add a trace in ppp_disconnect()
> into drivers/atmodem/gprs-context.c:
>
> DBG("Reason: %d", reason);
>
> to be sure.
Yes, you are right! Here the the trace:
Jan 1 03:33:21 mx31tt01 daemon.info ofonod[471]: PPP:
gatchat/gatppp.c:ppp_enter_phase() 0
Jan 1 03:33:21 mx31tt01 daemon.info ofonod[471]: PPP:
gatchat/gatppp.c:ppp_dead()
Jan 1 03:33:21 mx31tt01 daemon.debug ofonod[471]:
drivers/atmodem/gprs-context.c:ppp_disconnect() Reason: 2
Jan 1 03:33:21 mx31tt01 daemon.debug ofonod[471]:
src/gprs.c:pri_activate_callback() 0x1ebdbb0
Jan 1 03:33:21 mx31tt01 daemon.debug ofonod[471]:
src/gprs.c:pri_activate_callback() Activating context failed with error:
Unknown error type
>> Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:pri_activate_callback() 0x1ce500
>> Jan 1 01:20:57 mx31tt01 daemon.debug ofonod[810]:
>> src/gprs.c:pri_activate_callback() Activating context failed with
>> error: Unknown error type
>>
>
> Did you try to activate manually the context from oFono test scripts
> after this failure?
I tried that before applying your patches and I always got a "in
progress error" from ofono.
Now with your patches the activation of the context works for the retry
and I get a valid ppp connection.
Trace after activating the context a second time (manually):
Jan 1 03:34:28 mx31tt01 user.debug connMan[402]: Got connection context
signal Settings, Val = {'Interface': <'ppp0'>, 'Method': <'static'>,
'Address': <'2.205.178.119'>, 'Netmask': <'255.255.255.255'>, 'D
omainNameServers': <['139.7.30.126', '139.7.30.125']>}
Jan 1 03:34:28 mx31tt01 daemon.debug ofonod[471]:
plugins/udev.c:udev_event() subsystem net add
Jan 1 03:34:28 mx31tt01 daemon.debug ofonod[471]:
plugins/udev.c:udev_event() subsystem net finished
Jan 1 03:34:28 mx31tt01 user.debug connMan[402]: Got connection context
signal Active, Val = true
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: Connection context has
been activated.
Jan 1 03:34:28 mx31tt01 user.debug connMan[402]: Method is a string static
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: Set up ip ip addr add
2.205.178.119/32 dev ppp0
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: Domain name servers:
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: 139.7.30.126
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: Adding route ip route
add 139.7.30.126/32 dev ppp0
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: 139.7.30.125
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: Adding route ip route
add 139.7.30.125/32 dev ppp0
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: resolv.conf file will
look like this:
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: nameserver 139.7.30.126
nameserver 139.7.30.125
Jan 1 03:34:28 mx31tt01 user.info connMan[402]: Writing resolv.conf
Jan 1 03:34:29 mx31tt01 user.info connMan[402]: Setting default route
for interface ppp0
Jan 1 03:34:29 mx31tt01 user.info connMan[402]: Adding default route
route add default gw 2.205.178.119 ppp0
Jan 1 03:34:30 mx31tt01 daemon.debug ofonod[471]:
plugins/udevng.c:check_modem_list()
> Although ConnMan is correctly waiting for the modem to be attached to
> the network before trying to reconnect, maybe modem is not internally
> ready to reconnect. The reason might be PPP session ending is
> initiated by oFono core and not the modem itself.
> With Huawei modems we also noticed that automatic reconnection was
> sometime failing also. But testing conditions were not the same as we
> could not disconnect the antenna.
> Anyway I am not a PPP expert but something wrong is happening between
> the network and your modem because not IP configuration is sent by the
> network.
Thanks a lot for your help so far. You have given me some good points to
dig into ofono.
Kind regards,
Christopher
--
Scanned by MailScanner.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re-activating a context.
2012-07-13 13:39 ` Guillaume Zajac
2012-07-16 12:31 ` Christopher Vogl
@ 2012-08-29 18:40 ` Chrisopher Vogl
2012-08-29 23:56 ` Denis Kenzior
1 sibling, 1 reply; 7+ messages in thread
From: Chrisopher Vogl @ 2012-08-29 18:40 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 2508 bytes --]
Hi Guillaume and Denis,
<snip>
>> pppcp_initialize_restart_count: current state 6:REQSENT
>> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: PPP: ipcp:
>> pppcp_send_configure_request: current state 6:REQSENT
>> Jan 1 01:20:21 mx31tt01 daemon.info ofonod[810]: Aux: < \r\n+CGEV: ME
>> DEACT IP, , 1\r\n
> It seems IP Control Protocol is failing so that modem cannot receive the
> IP configuration from the network.
> IP phase is deactivated by the modem itself.
> I don't know what is happening there.
<snip>
> Although ConnMan is correctly waiting for the modem to be attached to
> the network before trying to reconnect, maybe modem is not internally
> ready to reconnect. The reason might be PPP session ending is initiated
> by oFono core and not the modem itself.
> With Huawei modems we also noticed that automatic reconnection was
> sometime failing also. But testing conditions were not the same as we
> could not disconnect the antenna.
> Anyway I am not a PPP expert but something wrong is happening between
> the network and your modem because not IP configuration is sent by the
> network.
I now know why I receive '+CGEV: ME DEACT IP, , 1\r\n'.
According to Telit support this happens because the context does not get deactivated
and ofono is trying to request a new IP address although the previous one is still valid.
After the antenna gets disconnected, the modem sends '+CREG: 2' and '+CGREG: 2'.
In consequence drivers/atmodem/gprs-context.c:telit_gprs_detach_shutdown() is called to end ppp connection and
'AT+CGATT=0' is sent.
'AT+CGATT=0' should normally deactivate all active contexts, but it returns '+CME ERROR: 30'.
When I try to deactivate the context with +CGACT like ifx does in
drivers/ifxmodem/gprs-context.c:ifx_gprs_deactivate_primary(), then I get '+CME ERROR: 0' (phone failure).
Furthermore I thought that when I receive 'NO CARRIER' at least then all context should be deactivated.
From a Cinterion manual (as the Telit manual is very poor):
"If the TE wants to close the LCP link the MT may perform an LCP termination request procedure on PPP level.
After this LCP termination procedure the MT deactivates the PDP context automatically and the MT returns to
V.250 command mode and issues the final result code NO CARRIER."
I don't know if this is a firmware or ofono issue as I don't know how this should be handled correctly.
Regards,
Christopher
--
Scanned by MailScanner.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Re-activating a context.
2012-08-29 18:40 ` Chrisopher Vogl
@ 2012-08-29 23:56 ` Denis Kenzior
0 siblings, 0 replies; 7+ messages in thread
From: Denis Kenzior @ 2012-08-29 23:56 UTC (permalink / raw)
To: ofono
[-- Attachment #1: Type: text/plain, Size: 2007 bytes --]
Hi Christopher,
<snip>
> I now know why I receive '+CGEV: ME DEACT IP, , 1\r\n'.
> According to Telit support this happens because the context does not get deactivated
> and ofono is trying to request a new IP address although the previous one is still valid.
>
> After the antenna gets disconnected, the modem sends '+CREG: 2' and '+CGREG: 2'.
> In consequence drivers/atmodem/gprs-context.c:telit_gprs_detach_shutdown() is called to end ppp connection and
> 'AT+CGATT=0' is sent.
> 'AT+CGATT=0' should normally deactivate all active contexts, but it returns '+CME ERROR: 30'.
That sounds like a firmware bug, we should be able to tell the modem to
abort the attach procedure or detach at any time.
> When I try to deactivate the context with +CGACT like ifx does in
> drivers/ifxmodem/gprs-context.c:ifx_gprs_deactivate_primary(), then I get '+CME ERROR: 0' (phone failure).
>
Does sending 'AT+CGACT=0' per 3GPP 27.007 10.1.10 work?
> Furthermore I thought that when I receive 'NO CARRIER' at least then all context should be deactivated.
> From a Cinterion manual (as the Telit manual is very poor):
> "If the TE wants to close the LCP link the MT may perform an LCP termination request procedure on PPP level.
> After this LCP termination procedure the MT deactivates the PDP context automatically and the MT returns to
> V.250 command mode and issues the final result code NO CARRIER."
Yes, that is the expected behavior, NO CARRIER means context is
deactivated. We've had problems with Huawei modems that try to keep the
PPP link alive when network registration is lost. We then had to
force-deactivate them by sending the relevant LCP close procedure. But
that doesn't seem to be the issue here...
>
> I don't know if this is a firmware or ofono issue as I don't know how this should be handled correctly.
>
Sounds like firmware is at fault, or maybe the Telit modem has to be
driven 'differently', but I do not see how.
Regards,
-Denis
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-08-29 23:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-12 14:50 Re-activating a context Christopher Vogl
2012-07-12 20:49 ` Denis Kenzior
2012-07-13 10:12 ` Christopher Vogl
2012-07-13 13:39 ` Guillaume Zajac
2012-07-16 12:31 ` Christopher Vogl
2012-08-29 18:40 ` Chrisopher Vogl
2012-08-29 23:56 ` Denis Kenzior
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.