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:

Modem <=> Linux kernel <=> libsamsung-ipc <=> Samsung-RIL <=> Android framework <=> Android applications

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

Development

The Samsung-RIL source code is hosted by the Replicant project. The latest version is available on the master branch.
It is aimed that Samsung-RIL can work on any Android version from gingerbread to jellybean in the master branch.

Status

For now, CDMA messages are not supported 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 Should work, untested
RIL_REQUEST_ENTER_NETWORK_DEPERSONALIZATION Network restriction unlock 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 Missing
RIL_REQUEST_CANCEL_USSD Cancel USSD Missing
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 of the latest 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 Working
RIL_REQUEST_SET_SUPP_SVC_NOTIFICATION Enable/disable supplementary network notifications Missing
RIL_REQUEST_WRITE_SMS_TO_SIM Write SMS to SIM Working
RIL_REQUEST_DELETE_SMS_ON_SIM Delete SMS on SIM Working
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 Missing
RIL_REQUEST_STK_SEND_TERMINAL_RESPONSE Send response to the SIM Missing
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 Missing
RIL_REQUEST_REPORT_SMS_MEMORY_STATUS Report SIM SMS memory status Missing
RIL_REQUEST_REPORT_STK_SERVICE_IS_RUNNING Report whether STK is running Missing
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_RADIO_STATE_CHANGED Radio state changed Working
RIL_UNSOL_RESPONSE_CALL_STATE_CHANGED Call state changed Working
RIL_UNSOL_RESPONSE_VOICE_NETWORK_STATE_CHANGED Network state changed Working
RIL_UNSOL_RESPONSE_NEW_SMS Incoming SMS Working
RIL_UNSOL_RESPONSE_NEW_SMS_STATUS_REPORT Incoming SMS status report Working
RIL_UNSOL_RESPONSE_NEW_SMS_ON_SIM New SMS on SIM Missing
RIL_UNSOL_ON_USSD USSD message Missing
RIL_UNSOL_ON_USSD_REQUEST Deprecated Deprecated
RIL_UNSOL_NITZ_TIME_RECEIVED NITZ time received Working
RIL_UNSOL_SIGNAL_STRENGTH Signal strength update Working
RIL_UNSOL_DATA_CALL_LIST_CHANGED GPRS call list changed Working
RIL_UNSOL_SUPP_SVC_NOTIFICATION Supplementary network notification Missing
RIL_UNSOL_STK_SESSION_END STK session ended Missing
RIL_UNSOL_STK_PROACTIVE_COMMAND Proactive STK command Missing
RIL_UNSOL_STK_EVENT_NOTIFY STK event happened Missing
RIL_UNSOL_STK_CALL_SETUP SIM is request call setup Missing
RIL_UNSOL_SIM_SMS_STORAGE_FULL SMS storage is full on SIM Missing
RIL_UNSOL_SIM_REFRESH SIM has to be reinitialized Missing
RIL_UNSOL_CALL_RING Incoming call Working
RIL_UNSOL_RESPONSE_SIM_STATUS_CHANGED SIM status changed Working
RIL_UNSOL_RESPONSE_CDMA_NEW_SMS
RIL_UNSOL_RESPONSE_NEW_BROADCAST_SMS Incoming broadcast SMS Missing
RIL_UNSOL_CDMA_RUIM_SMS_STORAGE_FULL
RIL_UNSOL_RESTRICTED_STATE_CHANGED Restricted state changed Missing
RIL_UNSOL_ENTER_EMERGENCY_CALLBACK_MODE Enter emergency callback mode Missing
RIL_UNSOL_CDMA_CALL_WAITING
RIL_UNSOL_CDMA_OTA_PROVISION_STATUS
RIL_UNSOL_CDMA_INFO_REC
RIL_UNSOL_OEM_HOOK_RAW OEM-specific use N/A
RIL_UNSOL_RINGBACK_TONE Start or stop playing ringback tone Missing
RIL_UNSOL_RESEND_INCALL_MUTE Resend mute state N/A
RIL_UNSOL_CDMA_SUBSCRIPTION_SOURCE_CHANGED
RIL_UNSOL_CDMA_PRL_CHANGED
RIL_UNSOL_EXIT_EMERGENCY_CALLBACK_MODE Exit emergency callback mode Missing
RIL_UNSOL_RIL_CONNECTED

Wiki License: Creative Commons BY-SA