Project

General

Profile

Samsung-RIL » History » Revision 34

Revision 33 (Paul Kocialkowski, 03/31/2013 09:14 PM) → Revision 34/47 (Paul Kocialkowski, 08/28/2013 11:25 AM)

h1. Samsung-RIL

Samsung-RIL is the free software Radio Interface Layer that implements the Samsung IPC protocol and interfaces [[libsamsung-ipc]] and the Android framework:
<pre>
Modem <=> Linux kernel <=> libsamsung-ipc <=> Samsung-RIL <=> Android framework <=> Android applications
</pre>

Samsung-RIL is device-independent: it means that all the device-specific code takes place in [[libsamsung-ipc]], not in Samsung-RIL directly.

h2. Development

Samsung-RIL sources are hosted at: https://gitorious.org/replicant/hardware_ril_samsung-ril branch @master@
It is aimed that Samsung-RIL can work on any Android version from gingerbread to jellybean in the master branch.

h2. Status

Only GSM messages are supported for now: there is no CDMA support at all.

Global status:

|_. RIL request/response |_. Functionality |_. Status |
| RIL_REQUEST_GET_SIM_STATUS | SIM status report | Working |
| RIL_REQUEST_ENTER_SIM_PIN | SIM pin unlock | Working |
| RIL_REQUEST_ENTER_SIM_PUK | SIM puk unlock | Should work, untested |
| RIL_REQUEST_ENTER_SIM_PIN2 | SIM pin2 unlock | Should work, untested |
| RIL_REQUEST_ENTER_SIM_PUK2 | SIM puk unlock | Should work, untested |
| RIL_REQUEST_CHANGE_SIM_PIN | SIM pin change | Working |
| RIL_REQUEST_CHANGE_SIM_PIN2 | SIM pin2 change | Missing |
| RIL_REQUEST_ENTER_NETWORK_DEPERSONALIZATION | ? | Missing |
| RIL_REQUEST_GET_CURRENT_CALLS | Current calls report | Working |
| RIL_REQUEST_DIAL | Outgoing call | Working |
| RIL_REQUEST_GET_IMSI | IMSI report | Working |
| RIL_REQUEST_HANGUP | End call | Working |
| RIL_REQUEST_HANGUP_WAITING_OR_BACKGROUND | End waiting/bg call | Missing |
| RIL_REQUEST_HANGUP_FOREGROUND_RESUME_BACKGROUND | End current call and resume waiting call | Missing |
| RIL_REQUEST_SWITCH_WAITING_OR_HOLDING_AND_ACTIVE | Switch current/waiting-holding calls | Missing |
| RIL_REQUEST_SWITCH_HOLDING_AND_ACTIVE | Switch current/holding calls | Missing |
| RIL_REQUEST_CONFERENCE | Start a conference call | Missing |
| RIL_REQUEST_UDUB | Send user determined used busy | Missing |
| RIL_REQUEST_LAST_CALL_FAIL_CAUSE | Last call termination cause | Working |
| RIL_REQUEST_SIGNAL_STRENGTH | Signal strength | Working |
| RIL_REQUEST_VOICE_REGISTRATION_STATE | GSM registration state report | Working |
| RIL_REQUEST_DATA_REGISTRATION_STATE | GPRS registration state report | Working |
| RIL_REQUEST_OPERATOR | Operator report | Working |
| RIL_REQUEST_RADIO_POWER | Modem power control | Working |
| RIL_REQUEST_DTMF | DTMF tones | Working |
| RIL_REQUEST_SEND_SMS | Send SMS | Working |
| RIL_REQUEST_SEND_SMS_EXPECT_MORE | Send multiple SMS | Working |
| RIL_REQUEST_SETUP_DATA_CALL | Start GPRS call | Working |
| RIL_REQUEST_SIM_IO | SIM I/O | Working |
| RIL_REQUEST_SEND_USSD | Send USSD message | Not working properly? |
| RIL_REQUEST_CANCEL_USSD | Cancel USSD | Should work |
| RIL_REQUEST_GET_CLIR | Get caller identity restriction | Missing |
| RIL_REQUEST_SET_CLIR | Set caller identity restriction | Missing |
| RIL_REQUEST_QUERY_CALL_FORWARD_STATUS | Call forwarding status | Missing |
| RIL_REQUEST_SET_CALL_FORWARD | Set call forwarding | Missing |
| RIL_REQUEST_QUERY_CALL_WAITING | Get waiting call's status | Missing |
| RIL_REQUEST_SET_CALL_WAITING | Enable/disable waiting state on current call | Missing |
| RIL_REQUEST_SMS_ACKNOWLEDGE | Ask for acknowledgment on the last sent SMS | Working |
| RIL_REQUEST_GET_IMEI | Retrieve IMEI | Working |
| RIL_REQUEST_GET_IMEISV | Retrieve IMEISV | Working |
| RIL_REQUEST_ANSWER | Answer incoming call | Working |
| RIL_REQUEST_DEACTIVATE_DATA_CALL | Stop GPRS call | Working |
| RIL_REQUEST_QUERY_FACILITY_LOCK | Get a facility lock status | Working |
| RIL_REQUEST_SET_FACILITY_LOCK | Set a facility lock status | Working |
| RIL_REQUEST_CHANGE_BARRING_PASSWORD | Change call barring password | Missing |
| RIL_REQUEST_QUERY_NETWORK_SELECTION_MODE | Get network selection mode | Working |
| RIL_REQUEST_SET_NETWORK_SELECTION_AUTOMATIC | Set automatic network selection mode | Working |
| RIL_REQUEST_SET_NETWORK_SELECTION_MANUAL | Set manual network selection mode | Working |
| RIL_REQUEST_QUERY_AVAILABLE_NETWORKS | Query available networks | Working |
| RIL_REQUEST_DTMF_START | Start DTMF tone | Working |
| RIL_REQUEST_DTMF_STOP | Stop DTMF tone | Working |
| RIL_REQUEST_BASEBAND_VERSION | Get modem firmware version | Working |
| RIL_REQUEST_SEPARATE_CONNECTION | Separate a call from a multi-party call and make it the active call | Missing |
| RIL_REQUEST_SET_MUTE | Set audio mute status | Working |
| RIL_REQUEST_GET_MUTE | Get audio mute status | Missing |
| RIL_REQUEST_QUERY_CLIP | Get CLIP status | Missing |
| RIL_REQUEST_LAST_DATA_CALL_FAIL_CAUSE | Retrieve last GPRS call fail cause | Working |
| RIL_REQUEST_DATA_CALL_LIST | Retrieve GPRS call list | Working |
| RIL_REQUEST_RESET_RADIO | Deprecated | Deprecated |
| RIL_REQUEST_OEM_HOOK_RAW | OEM-specific uses, Samsung Service Mode | Working |
| RIL_REQUEST_OEM_HOOK_STRINGS | OEM-specific uses, no use | N/A |
| RIL_REQUEST_SCREEN_STATE | Indicate screen state | Missing |
| RIL_REQUEST_SET_SUPP_SVC_NOTIFICATION | Enable/disable supplementary network notifications | Missing |
| RIL_REQUEST_WRITE_SMS_TO_SIM | Write SMS to SIM | Missing |
| RIL_REQUEST_DELETE_SMS_ON_SIM | Delete SMS on SIM | Missing |
| RIL_REQUEST_SET_BAND_MODE | Set RF band mode | Missing |
| RIL_REQUEST_QUERY_AVAILABLE_BAND_MODE | Query available RF band modes | Missing |
| RIL_REQUEST_STK_GET_PROFILE | Get STK profile | Missing |
| RIL_REQUEST_STK_SET_PROFILE | Set STK profile | Missing |
| RIL_REQUEST_STK_SEND_ENVELOPE_COMMAND | Send SAT command to the SIM | Working (disabled) |
| RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE | Send response to the SIM | Working (disabled) |
| RIL_REQUEST_STK_HANDLE_CALL_SETUP_REQUESTED_FROM_SIM | Allow or deny SIM call setup | Missing |
| RIL_REQUEST_EXPLICIT_CALL_TRANSFER | Connect two calls and disconnect from both | Missing |
| RIL_REQUEST_SET_PREFERRED_NETWORK_TYPE | Set preferred network type | Working |
| RIL_REQUEST_GET_PREFERRED_NETWORK_TYPE | Get preferred network type | Working |
| RIL_REQUEST_GET_NEIGHBORING_CELL_IDS | Request neighboring cell ids | Missing |
| RIL_REQUEST_SET_LOCATION_UPDATES | Enable or disable cell id change notification | Missing |
| RIL_REQUEST_CDMA_SET_SUBSCRIPTION_SOURCE | | |
| RIL_REQUEST_CDMA_SET_ROAMING_PREFERENCE | | |
| RIL_REQUEST_CDMA_QUERY_ROAMING_PREFERENCE | | |
| RIL_REQUEST_SET_TTY_MODE | Set TTY mode | Missing |
| RIL_REQUEST_QUERY_TTY_MODE | Get TTY mode | Missing |
| RIL_REQUEST_CDMA_SET_PREFERRED_VOICE_PRIVACY_MODE | | |
| RIL_REQUEST_CDMA_QUERY_PREFERRED_VOICE_PRIVACY_MODE | | |
| RIL_REQUEST_CDMA_FLASH | | |
| RIL_REQUEST_CDMA_BURST_DTMF | | |
| RIL_REQUEST_CDMA_VALIDATE_AND_WRITE_AKEY | | |
| RIL_REQUEST_CDMA_SEND_SMS | | |
| RIL_REQUEST_CDMA_SMS_ACKNOWLEDGE | | |
| RIL_REQUEST_GSM_GET_BROADCAST_SMS_CONFIG | Get broadcast SMS config | Missing |
| RIL_REQUEST_GSM_SET_BROADCAST_SMS_CONFIG | Set broadcast SMS config | Missing |
| RIL_REQUEST_GSM_SMS_BROADCAST_ACTIVATION | Enable or disable broadcast SMS reception | Missing |
| RIL_REQUEST_CDMA_GET_BROADCAST_SMS_CONFIG | | |
| RIL_REQUEST_CDMA_SET_BROADCAST_SMS_CONFIG | | |
| RIL_REQUEST_CDMA_SMS_BROADCAST_ACTIVATION | | |
| RIL_REQUEST_CDMA_SUBSCRIPTION | | |
| RIL_REQUEST_CDMA_WRITE_SMS_TO_RUIM | | |
| RIL_REQUEST_CDMA_DELETE_SMS_ON_RUIM | | |
| RIL_REQUEST_DEVICE_IDENTITY | Request device identity | Missing |
| RIL_REQUEST_EXIT_EMERGENCY_CALLBACK_MODE | Leave emergency call mode | Missing |
| RIL_REQUEST_GET_SMSC_ADDRESS | Get SMSC address | Missing |
| RIL_REQUEST_SET_SMSC_ADDRESS | Set SMSC address | Mising |
| RIL_REQUEST_REPORT_SMS_MEMORY_STATUS | Report SIM SMS memory status | Missing |
| RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING | Report whether STK is running | Working (disabled) |
| RIL_REQUEST_CDMA_GET_SUBSCRIPTION_SOURCE | | |
| RIL_REQUEST_ISIM_AUTHENTICATION | Perform AKA challenge/response | Missing |
| RIL_REQUEST_ACKNOWLEDGE_INCOMING_GSM_SMS_WITH_PDU | Acknowledge incoming SMS with PDU | Missing |
| RIL_REQUEST_STK_SEND_ENVELOPE_WITH_STATUS | Send SAT envelope status | Missing |
| RIL_UNSOL_RESPONSE_BASE | | |
| RIL_UNSOL_RESPONSE_RADIO_STATE_CHANGED | | |
| RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED | | |
| RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED | | |
| RIL_UNSOL_RESPONSE_NEW_SMS | | |
| RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT | | |
| RIL_UNSOL_RESPONSE_NEW_SMS_ON_SIM | | |
| RIL_UNSOL_ON_USSD | | |
| RIL_UNSOL_ON_USSD_REQUEST | | |
| RIL_UNSOL_NITZ_TIME_RECEIVED | | |
| RIL_UNSOL_SIGNAL_STRENGTH | | |
| RIL_UNSOL_DATA_CALL_LIST_CHANGED | | |
| RIL_UNSOL_SUPP_SVC_NOTIFICATION | | |
| RIL_UNSOL_STK_SESSION_END | | |
| RIL_UNSOL_STK_PROACTIVE_COMMAND | | |
| RIL_UNSOL_STK_EVENT_NOTIFY | | |
| RIL_UNSOL_STK_CALL_SETUP | | |
| RIL_UNSOL_SIM_SMS_STORAGE_FULL | | |
| RIL_UNSOL_SIM_REFRESH | | |
| RIL_UNSOL_CALL_RING | | |
| RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED | | |
| RIL_UNSOL_RESPONSE_CDMA_NEW_SMS | | |
| RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS | | |
| RIL_UNSOL_CDMA_RUIM_SMS_STORAGE_FULL | | |
| RIL_UNSOL_RESTRICTED_STATE_CHANGED | | |
| RIL_UNSOL_ENTER_EMERGENCY_CALLBACK_MODE | | |
| RIL_UNSOL_CDMA_CALL_WAITING | | |
| RIL_UNSOL_CDMA_OTA_PROVISION_STATUS | | |
| RIL_UNSOL_CDMA_INFO_REC | | |
| RIL_UNSOL_OEM_HOOK_RAW | | |
| RIL_UNSOL_RINGBACK_TONE | | |
| RIL_UNSOL_RESEND_INCALL_MUTE | | |
| RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED | | |
| RIL_UNSOL_CDMA_PRL_CHANGED | | |
| RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE | | |
| RIL_UNSOL_RIL_CONNECTED | | |