summaryrefslogtreecommitdiffstats
path: root/plugins/huawei.c
AgeCommit message (Collapse)AuthorFilesLines
2011-06-02huawei: NDIS port doesn't depend on modem portCaiwen Zhang1-4/+3
When creating the NDIS gprs context, do not check the existence of the modem port.
2011-06-02huawei: Minor tweaks to debug messagesDenis Kenzior1-2/+4
2011-06-02huawei: reopen once if open device failedCaiwen Zhang1-1/+35
Sometimes when we try to open the modem (PPP) device, it may fail. If opening the tty failed, retry once one second later.
2011-05-27huawei: Remove usage of unused netreg variableMarcel Holtmann1-3/+1
2011-04-26huawei: Switch to offline mode only if offlineMartin Xu1-1/+2
2011-04-26huawei: Check that the modem device is openMartin Xu1-2/+3
Don't create the gprs atom if the modem device was not opened successfully. Otherwise ofonod will crash.
2011-03-15huawei: Fix huawei_disconnect function issueMartin Xu1-9/+32
huawei_disconnect is used to recovery the io and gprs context when io error happends, see commit 39382730d7758b093ca6271f4e9dea875fa04b3a However, io error not only happends at PPP disconnect, in theory it can happends at any situation. I also observed that it happens when modem go into offline mode at my Huawei EM770W modem. in this case, gprs should not be reopened.
2011-03-11ssn: remove SSN atom completelyAndras Domokos1-2/+0
2011-03-04huawei: do not check for NULL pointerLucas De Marchi1-4/+0
cb_data_new() uses g_new0(), hence there's no need to check the return value being NULL.
2011-01-29huawei: Move SMS support into post_sim stageMarcel Holtmann1-1/+2
2011-01-19huawei: do not query sim state on pre_simLucas De Marchi1-3/+0
Sim state is already known after modem is enabled and there's no need to query it again. Before this patch, query_sim_state() was called upon huawei_enable() and huawei_pre_sim(). Both functions might call notify_sim_state() with a valid state. Hence we could eventually end up sending AT+CFUN=5 command twice.
2011-01-19huawei: do not set timer more than onceLucas De Marchi1-1/+2
If a "^SYSINFO" arrives after the timer for query_sim_locked() has been set up, it'd would set a new timer, signaling a sim state change more than once.
2011-01-10huawei: use VENDOR_HUAWEI quirk on sim creationLucas De Marchi1-1/+1
2010-12-21huawei: cancel poll when going to a valid stateLucas De Marchi1-0/+5
2010-12-21huawei: Move radio_settings to post_simDenis Kenzior1-3/+1
2010-12-21huawei: Add support for radio settingsLucas De Marchi1-0/+4
2010-12-21huawei: fix SIM state notification when lockedLucas De Marchi1-0/+28
When SIM is locked, huawei modem does not send any notification about SIM state change because it does not differentiate 'invalid' from 'locked'. In order to be able to unlock the sim, this patch forces a notification of a valid state after a timeout.
2010-12-11huawei: Pass the HUAWEI vendor ID to gprs driverDenis Kenzior1-1/+3
2010-11-29plugins: explicitly compare pointers to NULLLucas De Marchi1-5/+5
This patch was generated by the following semantic patch (http://coccinelle.lip6.fr/) // <smpl> @fix disable is_null,isnt_null1@ expression *E; @@ - !E + E == NULL // </smpl>
2010-10-13huawei: Fixup whitespace corruptionDenis Kenzior1-2/+2
2010-10-05huawei: Use modem interface only if NDIS support is not availableMarcel Holtmann1-9/+11
2010-10-05huawei: Add support for enabling NDIS GPRS driver if supportedMarcel Holtmann1-3/+12
2010-09-30huawei: Add support for specific audio settingsMarcel Holtmann1-1/+5
2010-09-29huawei: Remove pointless vendor quirkMarcel Holtmann1-2/+1
2010-09-27huawei: Use specific voice call atom driverMarcel Holtmann1-1/+1
2010-09-27huawei: Move voice call init to post_sim phaseMarcel Holtmann1-4/+4
Seems like that making emergency voice calls without SIM present is not really possible. Move the voice call init to post_sim phase instead.
2010-09-27huawei: Remove voice call notifications from modem pluginMarcel Holtmann1-90/+0
2010-09-24Make debug handling with OFONO_AT_DEBUG a bit more consistentMarcel Holtmann1-3/+4
2010-09-21huawei: fix online logicKalle Valo1-24/+53
The recently introduced online support to huawei didn't work with my Huawei E1552. The problem was that with command AT+CFUN=1;+CFUN=5 the modem didn't initialise the sim state properly. To fix this I changed the logic so that CFUN=5 is called only after the sim state has switched to a valid state. Now my Huawei E1552 works with connman again. PIN locked SIMs still won't work. The problem is that it takes some time for the sim state to go to a valid state: Sep 20 15:01:57 dell-m520 ofonod[12451]: Pcui:< \r\n+CPIN: READY\r\n\r\nOK\r\n [...] Sep 20 15:02:00 dell-m520 ofonod[12451]: huawei: invalid sim state in post online (0) [...] Sep 20 15:02:01 dell-m520 ofonod[12451]: Pcui:< \r\n^SIMST:1\r\n I don't know why it takes so long to get a valid state. There is also another issue, in "cold start" case the phonebook initialisation fails: Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:> AT+CPBS=?\r Sep 20 14:34:24 dell-m520 ofonod[11939]: Pcui:< \r\n+CME ERROR: SIM busy\r\n But in "warm start" it seems to work: Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:> AT+CPBS=?\r Sep 20 14:38:59 dell-m520 ofonod[12091]: Pcui:< \r\n+CPBS: ("SM","EN","ON")\r\n\r\nOK\r\n I consider this as a minor issue and didn't investigate it at all.
2010-09-21huawei: poll sim stateKalle Valo1-13/+53
On my Huawei E1552 when I plug in the modem (ie. cold start) with PIN locked SIM, the sim state is 255 (HUAWEI_SIM_STATE_NOT_EXISTENT). As the modem doesn't send ^SIMST notifications, poll the sim state until it's ready. In theory it might be possible to do this better, for example follow ^BOOT notifications or something, but it's unknown what parameter we should check for.
2010-09-09huawei: implement Online propertyPekka Pessi1-7/+46
Huawei uses +CFUN=5 for offline
2010-09-05huawei: Decode voice call notificationsMarcel Holtmann1-0/+90
2010-09-05huawei: Decode voice channel settingsMarcel Holtmann1-0/+20
2010-09-04huawei: Check for voice call supportMarcel Holtmann1-12/+70
2010-08-23huawei: Query AT^U2DIAG and AT^GETPORTMODE settingsMarcel Holtmann1-0/+8
Just to make the values show up in the AT command debug logs, query them when enabling the device.
2010-08-19huawei: Use QUALCOMM_MSM quirk for sim driverDenis Kenzior1-1/+2
2010-08-19huawei: Add support for switching USSD modeMarcel Holtmann1-5/+56
Some newer Huawei modems have support for ^USSDMODE command which seems to be default to 1. In that mode the text USSD is not working. Switching it to 0 and text USSD works just fine. Assumption is that with this command the modem switches between text and PDU mode for USSD. Currently it is unclear on how the PDU mode is suppose to work all. So default to text mode if this command is supported.
2010-08-05huawei: Fix SIM state logicJoão Paulo Rechi Vita1-25/+51
Add support for voice-only SIM cards and enable phonebook atom for non-voice modems.
2010-08-02huawei: fix double include of GPRS headerJoão Paulo Rechi Vita1-1/+0
2010-07-02huawei: Add Huawei EM770 modem supportZhenhua Zhang1-0/+23
Huawei EM770W is a 3G WCDMA modem that supports HSPA/UMTS/EDGE/GPRS/GSM data service and WCDMA/GSM short message services. It also has voice call capability that supports both 2G and 3G network.
2010-06-29huawei: cleanup warnings from the previous patchDenis Kenzior1-2/+0
2010-06-29huawei: reopen the GPRS context on hupKalle Valo1-24/+62
Huawei always closes the tty port after PPP disconnect. Handle this in huawei plugin, similarly as done with novatel. Now there's no need to unplug the modem after disconnection. Tested with Huawei E1552. Based on a patch by Marcel Holtmann: commit 0329a6ceaf8f69857cb5f8437b9db86ca327ef1d Author: Marcel Holtmann <marcel@holtmann.org> Date: Mon Jun 7 02:36:12 2010 -0700 Reopen the GPRS context channel when the modem closes it after PPP
2010-06-09Enable Qualcomm specific CBS quirk for Novatel and Huawei devicesMarcel Holtmann1-1/+2
2010-06-07huawei: Rework huawei pluginDenis Kenzior1-90/+42
- Use the PCUI (event) port for all commands unrelated to ppp - Use the Modem port for ppp
2010-06-06Use event channel for SMS, CBS and USSD with Huawei devicesMarcel Holtmann1-9/+8
2010-06-06Enable CBS and USSD for Huawei modemsMarcel Holtmann1-2/+6
2010-06-02Fix debug channel prefix strings for Huawei pluginMarcel Holtmann1-2/+2
2010-05-25huawei: remove voicecall supportKalle Valo1-1/+0
These modems don't support voicecall anyway. Recommended by Denis.
2010-05-25huawei: send a prefix with AT commandsKalle Valo1-4/+8
2010-05-25huawei: properly notify sim state to ofonoKalle Valo1-21/+23
Instead of using ofono_modem_set_powered(), use ofono_sim_inserted_notify() which is the proper way to notify about sim state changes. Now the problem is that voicecall commands fail with my Huawei E1552: ofonod[12395]: > AT+CRC=1\r ofonod[12395]: src/sim.c:ofono_sim_add_state_watch() 0x1bf8e50 ofonod[12395]: src/sim.c:ofono_sim_add_state_watch() 0x1bf8e50 ofonod[12395]: < \r\n+CME ERROR: SIM busy\r\n ofonod[12395]: > AT+CLIP=1\r ofonod[12395]: < \r\n+CME ERROR: SIM busy\r\n ofonod[12395]: > AT+COLP=1\r ofonod[12395]: < \r\n+CME ERROR: SIM busy\r\n ofonod[12395]: > AT+CCWA=1\r ofonod[12395]: < \r\n+CME ERROR: SIM busy\r\n ofonod[12395]: drivers/atmodem/voicecall.c:at_voicecall_initialized() voicecall_init: registering to notifications ofonod[12395]: src/sim.c:ofono_sim_add_state_watch() 0x1bf8e50 ofonod[12395]: > AT^SYSINFO\r ofonod[12395]: < \r\n^SYSINFO:0,0,0,0,255,,0\r\n\r\nOK\r\n ofonod[12395]: > AT+CGMI\r ofonod[12395]: < \r\nhuawei\r\n\r\nOK\r\n ofonod[12395]: EventChannel: < \r\n^STIN:0,0,0\r\n ofonod[12395]: > AT+CLCC\r ofonod[12395]: < \r\n+CME ERROR: SIM busy\r\n But as I can't make voice calls with this modem anyway, I don't worry about them right now.