Переключение сим карт

Здравствуйте

Правильно ли я понимаю, что штатной функции для переключении сим карт не предусмотрено и гвоздями прибито всегда использовать карту в слоте 1?
строка
gpio_set_value $WB_GPIO_GSM_SIMSELECT 0
в /usr/lib/wb-utils/wb-gsm-common.sh

если хочется иметь две сим и возможность переключаться, то надо

  • написать свой вариант /usr/bin/wb-gsm
  • написать свою вариацию gsm_init из /usr/lib/wb-utils/wb-gsm-common.sh которая будет делать gpio_set_value $WB_GPIO_GSM_SIMSELECT 1

сам себе отвечаю
хачим скрипты

файл /usr/lib/wb-utils/wb-gsm-common.sh
вписываем выше gsm_init

CURRENT_SIM_NUM=0
CURRENT_SIM_NUM_FILE=/tmp/.simnum

function read_current_sim_num() {
    if [[ -f "$CURRENT_SIM_NUM_FILE" ]]; then
        CURRENT_SIM_NUM=`cat $CURRENT_SIM_NUM_FILE`
    fi
}
function toggle_sim() {
    read_current_sim_num
    CURRENT_SIM_NUM=$((1 - $CURRENT_SIM_NUM))
    switch_off
    sleep 1
    gsm_init
    sleep 1
    restart_if_broken
}

в функции gsm_init в конце заменяем gpio_set_value $WB_GPIO_GSM_SIMSELECT 0
на

       read_current_sim_num
       gpio_set_value $WB_GPIO_GSM_SIMSELECT $CURRENT_SIM_NUM

файл /usr/bin/wb-gsm в case “$1” in вписываем

    "toggle_sim" )
        toggle_sim
    ;;

всё, теперь можно вызывать wb-gsm toggle_sim и будет меняться активная карта со слота 1 на 2 и обратно
текущее состояние созхарятся во временном файле /tmp/.simnum который лежит на /tmp директории и будет удалён при ребуте, так что на чистую всегда будет использовать первый слот

Да, можно так.
Про переключение описано тут: GSM/GPRS — Wiren Board
На практике использующие больше одной карты имеют, как правило свой софт.