Project

General

Profile

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.

Other project using it or having used it

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 Working
RIL_REQUEST_CANCEL_USSD Cancel USSD Should work, untested
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 Working
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