Vodafone Websession UMTS Stick ZTE K4201 wird von Fritzbox nicht erkannt

jocale

Mitglied
Mitglied seit
27 Apr 2005
Beiträge
402
Punkte für Reaktionen
1
Punkte
18
Ich habe von Vodafone bei meinen Eltern ein Websession UMTS Stick bekommen als Entschädigung, wegen einer bestehenden DSL Störung.
Habe ich natürlich gerne mitgenommen für lau und auf die 1GB kann ich pfeifen.

Es ist ein ZTE K4201 und lsusb gibt folgendes aus:
Code:
Bus 001 Device 005: ID 19d2:1024 ZTE WCDMA Technologies MSM 


Bus 001 Device 008: ID 19d2:1024 ZTE WCDMA Technologies MSM 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x19d2 ZTE WCDMA Technologies MSM
  idProduct          0x1024 
  bcdDevice           f0.55
  iManufacturer           4 
  iProduct                3 
  iSerial                 5 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          103
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          2 
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0 
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      CDC Ethernet:
        iMacAddress                      1 (??)
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               8192
        wNumberMCFilters            0x0001
        bNumberPowerFilters              0
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Der Stick wird weder von der Fritzbox noch von den Easyboxen 803/904 wobei mir von Vodafone mitgeteilt wurde, das der Stick mit der Easybox laufen wurde.

Auf dem Stick ist ein Windows Treiber und Linux Tool und er läuft auch unter Linux und im Android Tablet verbindet sich der Stick auch, aber ich ich noch keine App gefunden um es unter Android zu nutzen.

Der Linux Teil enthält zwei binär Dateien und ein paar Scripte, u.a.:
/bin/9-cdrom.rules
Code:
#
# udev rules file 
#
#

#SUBSYSTEM!="usb_device", GOTO="phone_rules_end"
#ACTION!="add", GOTO="phone_rules_end"KERNEL=="sr*",SUBSYSTEMS=="scsi"
#ACTION!="remove", GOTO="phone_rules_end",KERNEL=="scd*",NAME="%k", ACTION=="add",

#################
#################
# disable NetworkManager/modem-manager
ATTRS{idVendor}=="19d2", ENV{ID_MM_DEVICE_IGNORE}="1"
#################
#################


#################
#################
#autorun#  ecm pid / do not add cdrom pid
#SUBSYSTEMS=="usb", ACTION=="add", SYSFS{idVendor}=="19d2",SYSFS{idProduct}=="1185", MODE="0666", RUN+="/bin/launch-gui.sh"
#SUBSYSTEMS=="usb", ATTRS{idVendor}=="19d2",ATTRS{idProduct}=="1024", MODE="0666", RUN+="/bin/launch-gui.sh"
#SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/launch-gui.sh"
#################
#################


LABEL="phone_rules_end"
cmconfig.ini
Code:
[DEVICE]
VID=v19D2
PID=p1024
OPEN_URL=http://vodafonemobile.vmb
[PCCLIENT]
MAX_TRY_BEFORE_MANUL=10
IPADDR_BYMANUL=192.168.9.1
DELAY_TIME=5
launch-gui.sh
Code:
#!/bin/bash
#This script will launch a GUI program once
#file:launch-gui.sh
SU="/bin/su"
XHOST="/usr/bin/xhost"
#NICE="/bin/nice"
#NICE="/usr/bin/nice"
WHO="/usr/bin/who"
PUI=`pidof Vodafone_QuickStart`


#the GUI progranm to launch by this script
GUI2LAUNCH="/bin/Vodafone_QuickStart"

#define a file to collect info in the progress
LAUNCH_INFO="/tmp/modem-gui-launch-info"

#define a lock that make sure there is at most only one UI is running
GUI_LOCK="/tmp/modem-gui-launch-lock"

function get_distro_name {
    ISSUE_NAME="/etc/issue"
    DIS_NAME="other"
    if [ -e $ISSUE_NAME -a -f $ISSUE_NAME ]; then
        if [ "$(grep "Ubuntu" $ISSUE_NAME)" ]; then
            DIS_NAME="Ubuntu"
        elif [ "$(grep 'SUSE' $ISSUE_NAME)" ]; then
            DIS_NAME="OpenSUSE"
        elif [ "$(grep "Fedora" $ISSUE_NAME)" ]; then
            DIS_NAME="Fedora"
        elif [ "$(grep "Mandriva" $ISSUE_NAME)" ]; then
            DIS_NAME="Mandriva"
        fi
    fi
    echo $DIS_NAME
}

#lock or unlock when add or remove device, make sure there is only one $GUI2LAUNCH is running
if [ "add" = "$ACTION" ];then
if [ ! -f "$GUI_LOCK" ];then
#        if [ ""!="$PUI" ];then
        touch "$GUI_LOCK"
else
        echo "The  $GUI2LAUNCH can't have two instances!" >> $LAUNCH_INFO
        exit 1
fi
elif [ "remove" = "$ACTION" ];then
rm -rf "$GUI_LOCK"
exit 1
else
echo "ACTION=$ACTION" >> $LAUNCH_INFO
exit 1
fi

#export display variable
export DISPLAY=":0.0"
#export XAUTHORITY="$(echo `ls /tmp/.gdm* -t` | awk '{print $1}')"

#find a valid X Server User
#XHOST_LIST=`$XHOST`
#XHOST_SI=`echo ${XHOST_LIST##*SI}`
#XUSER=`echo ${XHOST_SI//:/ } | awk '{print $2}'`
#if [ -z "$XUSER" ];then
#echo "XUSER is NULL:$XUSER" > $LAUNCH_INFO
#exit 1
#fi
XUSER=`$WHO | grep tty7 | awk '{print $1}'`
if [ "" == "$XUSER" ];then
    XUSER=`$WHO |  grep --regexp=:0[\ ] | awk '{print $1}'`
    if [ "" == "$XUSER" ];then
        XUSER=`$WHO |  grep --regexp=:0[\)] | awk '{print $1}'`
    fi
fi

if [ "" == "$XUSER" -a "Ubuntu" == $(get_distro_name) ];then
    XUSER=`ps axu |  grep --invert-match grep | grep unity | head -1 | awk '{print $1}'`
fi

#another way that make sure there is only one $GUI2LAUNCH is running
#if [ ""!="$(ps aux | grep $GUI2LAUNCH | grep $XUSER)" ];then
#echo "The  $GUI2LAUNCH can't have two instances!" >> $LAUNCH_INFO
#exit 1
#fi

#get the user's HOME dir
XUSER_PSW=`cat /etc/passwd | grep $XUSER`
XUSER_PSW=`echo ${XUSER_PSW#"$XUSER"*/}`
XUSER_HOME=`echo /${XUSER_PSW%%:*}`

#set something that depend on linux release version
if [ "$(cat /etc/lsb-release | grep Ubuntu)" != "" ];then
export XAUTHORITY="$XUSER_HOME/.Xauthority"
NICE="/usr/bin/nice"
elif [ "$(cat /etc/redhat-release | grep Fedora)" != "" ];then
export XAUTHORITY="$(echo `ls /tmp/.gdm* -t` | awk '{print $1}')"
        if [ -n "`uname -r | grep fc10`" -o -n "`uname -r | grep fc14`" ];then
      XAUTHORITY1="$(echo `ls /var/run/gdm/auth-for* -t` | awk '{print $1}')"
              XAUTHORITY1="${XAUTHORITY1%:}"
              export XAUTHORITY="$XAUTHORITY1"/database  
        elif [ -n "`uname -r|grep fc9`" ];then
             export XAUTHORITY="`ls /var/run/gdm/auth* | grep $XUSER`"
        fi
NICE="/bin/nice"
elif [ "$(cat /etc/debian_version)" == "4.0" ] || [ "$(cat /etc/debian_version)" == "5.0" ];then
       export XAUTHORITY="$XUSER_HOME/.Xauthority"
       NICE="/usr/bin/nice"
elif [ "$(cat /etc/debian_version)" == "6.0" ];then
    XAUTHORITY1="$(echo `ls /var/run/gdm3/auth-for* -t` | awk '{print $1}')"
    XAUTHORITY1="${XAUTHORITY1%:}"
    export XAUTHORITY="$XAUTHORITY1"/database
    NICE="/usr/bin/nice"
elif [ "Mandriva" == $(get_distro_name) ] ;then
echo "Mandriva"
NICE="/bin/nice"
else
echo "Your System maybe not Fedora or Ubuntu or Debian!" >> $LAUNCH_INFO
    NICE="/usr/bin/nice"
fi


#make the user's ENVIROMENT VARIABLEs take effect
. "$XUSER_HOME/.bash_profile"

#set the user's LANGUAGE enviroment variable
LANG_STR=`cat $XUSER_HOME/.dmrc | grep "Language"`
if [ ""!="$LANG_STR" ];then
export LANG=`echo ${LANG_STR##*=}`
export LC_ALL=$LANG
fi

#debug 
echo "XHOST=$XHOST" >>  $LAUNCH_INFO
#echo "XHOST_LIST=$XHOST_LIST" >>  $LAUNCH_INFO
#echo "XHOST_SI=$XHOST_SI" >>  $LAUNCH_INFO
echo "XUSER=$XUSER" >> $LAUNCH_INFO
echo "XUSER_HOME=$XUSER_HOME" >> $LAUNCH_INFO
echo "LANG_STR=$LANG_STR" >> $LAUNCH_INFO
echo "LANG=$LANG" >> $LAUNCH_INFO
echo "LC_ALL=$LC_ALL" >> $LAUNCH_INFO
echo "SU=$SU" >> $LAUNCH_INFO
echo "NICE=$NICE" >> $LAUNCH_INFO
echo "XAUTHORITY=$XAUTHORITY" >> $LAUNCH_INFO
echo "who=`who`" >> $LAUNCH_INFO

#mkxauth -u eagle -l eagle -c 127.0.0.1 >  ~eagle/mkauth.txt

$SU $XUSER -c "$XHOST +local:"

#if [ "" != "`uname -r |grep fc13`" -o "" != "`cat /etc/issue |grep 10.04`" ];then
#   if [ "" == "`who`" ];then
   if [ "" == "$XUSER" ];then
       echo "fail" >> $LAUNCH_INFO
       exit -1
   fi
#fi
echo "success1" >> $LAUNCH_INFO
$NICE --adjustment=5 $SU $XUSER -c "$GUI2LAUNCH &" &

echo "success" >> $LAUNCH_INFO
exit 0
install.ini
Code:
#! /bin/bash

FILE_NAME=Vodafone_QuickStart
EXE_FILE=Vodafone_QuickStart
DISPLAY_NAME="Vodafone QuickStart"
SYS_PATH=/opt
INSTALL_PATH=$SYS_PATH/$FILE_NAME

if [ -f $INSTALL_PATH/$FILE_NAME ]; then
   echo "****** Fail to install !!! "
echo the "$FILE_NAME" has been installed.
   read -p "press any key to exit.... " -n 1
exit -1
fi

echo "..................start install................."
echo -n "*** Check for root..."
if [ $EUID -ne 0 ]; then
echo -e "\b\b\b - failed"
echo "*** Please retry as root user."
        read -p "press any key to exit.... " -n 1
exit -1
fi
echo "ok..."

#delete first
if [ -f $INSTALL_PATH/$FILE_NAME ];then
rm -rf $INSTALL_PATH
        rm -f /bin/$FILE_NAME
fi

if [ -f $INSTALL_PATH/$EXE_FILE ];then
rm -rf $INSTALL_PATH
        rm -f /bin/$EXE_FILE
fi


TMP_FILE=/usr/share/applications/$FILE_NAME*.desktop
if [ -f $TMP_FILE ];then
rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

TMP_FILE=/usr/share/pixmaps/$FILE_NAME*.png
if [ -f $TMP_FILE ];then
rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

#delete autorun files 
TMP_FILE=/etc/udev/rules.d/9-cdrom.rules
if [ -f $TMP_FILE ];then
rm -f $TMP_FILE
      echo ..........delete $TMP_FILE ok...........
fi

cp -f $FILE_NAME.tar.gz $SYS_PATH/$FILE_NAME.tar.gz
cd $SYS_PATH
tar -zxvf $FILE_NAME.tar.gz


chmod 0755 $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop
cp -f $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop /usr/share/applications/$EXE_FILE.desktop
USER=`who am i | awk '{print $1}'`
if [ $USER == "root" ];then
   if [ -d /$USER/Desktop ];then
       cp -f $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop /$USER/Desktop/$EXE_FILE.desktop
   fi 

   if [ -d /$USER/桌面 ];then
       cp -f $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop /$USER/桌面/$EXE_FILE.desktop
   fi
else
   if [ -d /home/$USER/Desktop ];then
cp -f $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop /home/$USER/Desktop/$EXE_FILE.desktop
   fi

   if [ -d /home/$USER/桌面 ];then
   cp -f $INSTALL_PATH/usr/share/applications/$EXE_FILE.desktop /home/$USER/桌面/$EXE_FILE.desktop
   fi
fi

#add deal Applications not menu bug
PARTIAL_NAME=$(locale | head -1)
PARTIAL_NAME=${PARTIAL_NAME#*=}
PARTIAL_NAME=${PARTIAL_NAME%.*}

CACHE_NAME=`ls /usr/share/applications/desktop.*.cache | head -1`
CACHE_NAME=${CACHE_NAME#*.}
CACHE_NAME=${CACHE_NAME%.*}
CACHE_NAME=${CACHE_NAME#*.}

FILENAME=$PARTIAL_NAME.$CACHE_NAME
if [ -f /usr/share/applications/desktop.$FILENAME.cache ]; then
/usr/share/gnome-menus/update-gnome-menus-cache /usr/share/applications > /usr/share/applications/desktop.$FILENAME.cache
fi
#add end

chmod 0755 $INSTALL_PATH/usr/share/pixmaps/$EXE_FILE.png
cp -f $INSTALL_PATH/usr/share/pixmaps/$EXE_FILE.png /usr/share/pixmaps/$EXE_FILE.png

chmod 0755 $INSTALL_PATH/bin/$EXE_FILE
cp -f $INSTALL_PATH/bin/$EXE_FILE /bin/$EXE_FILE

chmod 0777 $SYS_PATH
chmod 0777 $INSTALL_PATH
chown root.root $INSTALL_PATH/$EXE_FILE
chmod 0755 $INSTALL_PATH/$EXE_FILE
chmod 0777 $INSTALL_PATH/$EXE_FILE
chmod 4755 $INSTALL_PATH/zifup
chmod 0755 $INSTALL_PATH/uninstall.sh

TMP_FILE=$INSTALL_PATH/bin/9-cdrom.rules
cp -f $TMP_FILE  /etc/udev/rules.d/9-cdrom.rules
#if locate udevadm >/dev/null 2>&1
if [ -f /sbin/udevadm ]
then
    /sbin/udevadm control reload_rules >/dev/null 2>&1
    /sbin/udevadm control --reload-rules >/dev/null 2>&1
    /sbin/udevadm trigger --subsystem-match=block
else
    /sbin/udevcontrol reload_rules 
    /sbin/udevtrigger --subsystem-match=block 
fi
rm -f  $INSTALL_PATH/bin/9-cdrom.rules

#remove temp file
rm -f $SYS_PATH/$FILE_NAME.tar.gz

#change user group
while read LINE
do
USER2CH=${LINE%%:*}
LINE=${LINE#*:}
LINE=${LINE#*:}
USER_ID=${LINE%%:*}

if [ $USER_ID -ge 1000 ];then
if [ $USER2CH != "nobody" ]; then
#echo $USER2CH:$USER_ID
/usr/sbin/usermod -a -G  netdev,dialout,dip $USER2CH
fi
fi
done < /etc/passwd


TMP_FILE=$INSTALL_PATH/launch-gui.sh
if [ -f $TMP_FILE ];then
    chown root.root $TMP_FILE
    chmod 0755  $TMP_FILE
    chmod u+s  $TMP_FILE
    cp -f $TMP_FILE  /bin
fi

echo "install completed!!!"

echo  "....After setup, you will find the $DISPLAY_NAME in \"Applications->Internet->$DISPLAY_NAME\". Click the $DISPLAY_NAME and the application will run"

read -p "press any key to continue.... " -n 1
#run 
if [ $USER == 'root' ];then
    $EXE_FILE
else
    su $USER -c $EXE_FILE
fi
sleep 3
Und eine uninstall.sh noch.

Wenn der Stick in der Fritzbox steckt kommt es auch zu einer UMTS Verbindung laut Signalled des Stickes, aber die Fritzbox erkennt den Stick nur als “unbekanntes Gerät“.

Ich habe auf dem Stick die Pinabfrage deaktiviert und ich habe mit Freetz nichts wegpacht was mit UMTS zu tun hat.

Gibt es eine Möglichkeit den Stick an der Fritzbox zum Laufen zu bekommen?
 
Zuletzt bearbeitet:

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,164
Punkte für Reaktionen
753
Punkte
113
Es ist ein Huawei K4201 u
Siehste ... da verließen sie ihn dann auch schon wieder. Deshalb habe ich nach VID/PID gefragt. Das Internet (wenn man es auf die von mir nach "K4201 u" befragte Suchmaschine reduzieren will) weiß nichts von einem "u"-Stick. Und ein K4201-z (das wäre dann auf einem deutschen Keyboard genau eine Taste daneben) ist dann kein Huawei-Stick, sondern von ZTE.

Diese Modellbezeichnung bringt also am Ende gar nichts ... die Frage nach VID/PID ist offen und die Frage nach dem "speziellen" Linux-Treiber würde ich auch gerne erneuern.
 

jocale

Mitglied
Mitglied seit
27 Apr 2005
Beiträge
402
Punkte für Reaktionen
1
Punkte
18
@PeterPawn, ich habe vorhin aus Versehen zu früh den Post abgeschickt.

Habe den Post um eine paar Infos erweitert und auf Huawei bin ich gekommen, weil ich Gestern auf meine Suche ein paar Seiten mit Unlocktools für ein Huawei K4201 gefunden habe und ich hatte den Eindruck das Huawei und ZTE irgendwie zusammen gehören, ob habe mich vielleicht geirrt.
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,164
Punkte für Reaktionen
753
Punkte
113
Es ist ein ZTE K4201
;) ... und ich dachte schon, nach 27 Minuten kommt da nichts mehr weiter.

Das 'lsusb' ist offenbar aber aus einem Linux-System (Dein Kubuntu?), wo die Umschaltung schon erfolgt ist. Anhand des vorhandenen CDC-Ethernet-Interfaces (bInterfaceNumber 0) würde ich sagen, er sollte mit einer FRITZ!Box-Firmware ab 06.20 laufen, da es bei cdc_ether.ko nicht so viele Möglichkeiten gibt.

Aber er wird wohl wegen der unbekannten VID/PID-Kombination und wegen des fehlenden/falschen Umschalt-Kommandos vom "CD-Modus" nicht in den richtigen Modus geschaltet, nach dem, was das Kubuntu da sagt, sollte das Ziel 19D2:1024 sein. Das würde ich auch aus der cmconfig.ini (das ist sicherlich irgendwas mit "communications manager" o.ä. bei dem "cm") lesen, daß dort die Software auf das USB-Gerät v19d2:p1024 losgelassen wird.

Anhand der udev-Rule-Datei würde ich sagen, der Stick startet mit 19D2:1185 und wird dann von irgendeinem Programm in launch-gui.sh in den notwendigen Modus umgeschaltet, welches das aber sein soll, sehe ich auf Anhieb nicht. Auch die ID ist nicht 100%ig klar, da hilft ein Console-Protokoll der FRITZ!Box ganz gut, da dort der Stick erst einmal im "Originalzustand" bleiben könnte und wenn nicht, sollte da eigentlich stehen, wie er sich zuerst zu erkennen gibt.

Man muß nun das notwendige Umschaltkommando ermitteln (bei usb_modeswitch oder in dessen Forum wird man vielleicht schon fündig) und das dann dem FRITZ!OS "unterjubeln". Das ist normalerweise nicht so schwierig, denn vor der 06.20 wurde das erfolgreiche Kommando in der Datei /var/flash/usbgsm.cfg abgelegt und nach der ersten erfolgreichen Inbetriebnahme auch nur von dort gelesen. Leider ist das bei 06.20 etwas anders und man muß die usbgsm.cfg-Datei ggf. schon im Image ersetzen, allerdings erst dann, wenn man auch weiß, wie die neue Datei aussehen sollte. Solange behilft man sich mit dem Editieren der Datei usbgsm.cfg in /var/flash, das überlebt dann eben kein Werksreset.

Wenn man also das erforderliche Kommando gefunden hat, fügt man es in einer C- oder B-Zeile in die Datei ein, die M-Zeilen kann man getrost vergessen, die spielen im CDC-Mode keine Rolle. Steht das Kommando in der usbgsm.cfg, startet man eine Telnet-Session (inkl. "setconsole") und beobachtet die Meldungen beim Anstecken des USB-Sticks.

Allerdings funktionieren m.W. bisher bei Verwendung als "virtuelle Netzwerkkarte" keine Sprachverbindungen und auch die automatische Umschaltung auf UMTS als Ersatz für eine unterbrochene DSL-Verbindung ist nicht vorgesehen. Auch die Warnung, vor der Aktivierung eines Sticks im CDC-Mode unbedingt die Einstellungen zu sichern, will ich mir nicht verkneifen ... auch nach der Deaktivierung des Zugangs über den Stick sind die notwendigen DSL-Daten nicht in jedem Falle automatisch wieder vorhanden und gültig, man spielt also besser eine Sicherung wieder ein, wenn man nicht ständig neu konfigurieren (lassen) will. Bei VF ist das ja u.U. dann nur über TR-069 seitens des Providers möglich.

Wenn Du das Umschaltkommando gefunden hast, kannst Du es ganz einfach auf der FB austesten, wenn Du das 'sndusbmsg' erst einmal von Hand ausprobierst an einem frisch eingesteckten Stick. Wenn das erst einmal funktioniert hat und Du mit dem "Automatisieren" in der usbgsm.cfg nicht klarkommst, mußt Du Dich eben noch einmal melden.
 
Zuletzt bearbeitet:

jocale

Mitglied
Mitglied seit
27 Apr 2005
Beiträge
402
Punkte für Reaktionen
1
Punkte
18
Man oh man, dein Wissen möchte ich haben, aber das mit Umschaltkommando finden und richtig konfigurieren bekommen ich nie hin.

Es war in Kubuntu mit lsusb in der Fritzbox geht kein lsusb -v, die Ausgabe ist die gleiche wie ohne -v.
Werde mal usbutils reinfreetzen.

Aber in der /var/flash/langsam.cfg auf meiner Fritz steht der Eintrag 19d2 bereits drin:

Code:
VER=:9
###
V=:0421:05c6:0af0:1199:12d1:1410:16d8:1bbb:1c9e:1e0e:19d2:1ee8:
V=:0b3c:07d1:2357:0fce:
###
C=:1199:400b01
C=:12d1:000301
C=:19d2:c0a115
C=:0fce:c01102
###
B=:16d8:555342431234567800000000000009ff524445564348473100000000000000
B=:1c9e:1bbb:55534243123456780000000080000606f50402527000000000000000000000
B=:05c6:0af0:55534243123456780100000080000601000000000000000000000000000000
B=:1e0e:555342431234567800000000000006bd000000020000000000000000000000
B=:12d1:55534243123456780000000000000011062000000101000100000000000000
B=:12d1:55534243876543210000000000000011062000000100000000000000000000
B=:12d1:55534243000000000000000000000611060000000000000000000000000000
B=:0b3c:5553424312345678c000000080010606f50402527000000000000000000000
B=:0421:05c6:0af0:1199:12d1:1410:16d8:1bbb:1c9e:1e0e:19d2:1ee8:5553424312345678000000000000061b000000020000000000000000000000
B=:0b3c:07d1:2357:0fce:5553424312345678000000000000061b000000020000000000000000000000
###
B=:12d11f19:55534243000000000000000000000611060000000000000000000000000000
###
S=:1c9e3003:2
S=:0fced0cf:3
S=:0fced0e1:2
###
M=:0af07251:D2
M=:1c9e9603:D2
M=:1c9e9605:D3V2C1
M=:1c9e3003:D1C2V3
M=:11996880:D3
M=:119968a3:D2
M=:1bbb0000:D2
M=:12d11001:12d11c05:12d114c9:D0V1C2
M=:12d11003:12d11c08:D0C1
M=:12d1140c:12d11436:12d11465:12d114ac:D0V2C3
M=:12d11444:D1C0
M=:1e0e9000:D2
M=:19d20031:19d20117:D2C1
M=:19d20063:19d20104:D3C1
M=:19d20143:D0C1
M=:19d22003:D3V2C1
###
Ich habe gelesen das es für Windows Tools gibt womit man den Stick dauerhaft in den Datenmodus umschalten kann, aber noch nichts passendes gefunden.

P.S. Das Vodafone DSL ist bei meinen Eltern und dort habe ich den Stick abgestaubt, ich selber gehe über die die Easybox meines Vermieters mit meiner Fritzbox 7330Sl ins Internet.
Den Stick will ich bei mir einsetzen.
 
Zuletzt bearbeitet:

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,164
Punkte für Reaktionen
753
Punkte
113
Aber in der /var/flash/langsam.cfg auf meiner Fritz steht der Eintrag 19d2 bereits drin:
Es gibt mehrere Umschaltkommandos, wenn beim Anstecken an Deine Box die Umschaltung nicht erfolgt (sieht man in einer Telnet-Session, in der vorher "setconsole" eingegeben wurde, bevor der Stick eingesteckt wird), dann paßt das hinterlegte Kommando nicht. Dann wird natürlich auch nicht umgeschaltet.

Nach Deiner Datei zu urteilen, werden zwei Versuche gestartet, den Stick umzuschalten:

1x die C-Zeile mit 19d2:c0a115

1x die B-Zeile, die mit 0421 beginnt

Das richtige Kommando kenne ich eben auch nicht, notfalls kann man das (lies mal bei usb_modeswitch nach) auch aus dem herausholen, was die Linux-Software da an den Stick sendet.

Ich habe gelesen das es für Windows Tools gibt womit man den Stick dauerhaft in den Datenmodus umschalten kann, aber noch nichts passendes gefunden.
Meiner Meinung nach der sicherste Weg bei modernen Sticks mit CDC-Mode-Support, um den Stick nutzlos werden zu lassen. Selbst wenn Du den permanent in den COM-Mode kriegst (also Modem über serielle Schnittstelle), funktioniert der damit noch lange nicht an der FRITZ!Box.

EDIT: Noch was - finde ich jedenfalls - Lustiges in Deiner usbgsm.cfg ... die 12d1:1f19-Zeile in der Datei ist - nach dem was man im Netz so findet - die Zeile, die das unter K4201-H gängige Modell in den CDC-Modus schaltet. Wäre das also ein Huawei-Stick, hätte der vielleicht wirklich auf Anhieb funktioniert.
 
Zuletzt bearbeitet:

jocale

Mitglied
Mitglied seit
27 Apr 2005
Beiträge
402
Punkte für Reaktionen
1
Punkte
18
Nach dem was ich herausgefunden habe scheint Vodafone den Stick sowohl vom Huawei und ZTE zu beziehen.
Mein ZTE Stick hat ja die genaue Bezeichnung K4201-Z, daraus könnte man schließen das Z für ZTE steht und beim K4201-H für Huawei.

Hier die Ausgabe in der Fritzbox nach ein Freetzimage mit usbutils.
Code:
lsusb -v 

Dev #3 on bus #2
Interface 0, class e0, subclass 01
Interface 1, class 0a, subclass 00
BUS=002
DEV=003
VID=19d2
PID=1023
CLS=00
SCL=00
SPEED='hi'
VER='2.0'
ISOC=0
INUM=2
ICLS1=224
ISCL1=01
ICLS2=10
ISCL2=00
Code:
lsusb-freetz -v


Bus 002 Device 003: ID 19d2:1023 ZTE WCDMA Technologies MSM 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x19d2 ZTE WCDMA Technologies MSM
  idProduct          0x1023 
  bcdDevice           f0.55
  iManufacturer           3 ??????????????
  iProduct                2 ??????????????????????????
  iSerial                 4 ????????????????
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           75
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          1 ?????????????????
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass        224 Wireless
      bFunctionSubClass       1 Radio Frequency
      bFunctionProtocol       3 RNDIS
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass       224 Wireless
      bInterfaceSubClass      1 Radio Frequency
      bInterfaceProtocol      3 RNDIS
      iInterface              0 
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 01 03 01
      ** UNRECOGNIZED:  05 24 06 00 01
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               5
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval              32
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0000
  (Bus Powered)
setconsole beendet sich sofort nach Eingabe, wie muss ich es eingeben?
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,164
Punkte für Reaktionen
753
Punkte
113
setconsole beendet sich sofort nach Eingabe, wie muss ich es eingeben?
Das paßt schon so, damit werden lediglich die Ausgaben von /dev/console (dahin schreiben die Scripte zum Initialisieren des Sticks) auf das aktuelle PTY ausgegeben. Das, was danach auf der Console protokolliert wird, ist das Entscheidende.

Der Unterschied 4201-H und 4201-Z war Dir bekannt, dachte ich ... aber in jedem Falle hast Du ihn richtig recherchiert. Das ist das, was ich mit Modellbezeichnung meinte, denn leider macht das VF gerne mal so, daß sie Sticks verschiedener Hersteller unter einer gemeinsamen Modellbezeichnung zusammenfassen für ihr eigenes Branding.

Egal ... offenbar wird der Stick von den derzeit in der FRITZ!Box hinterlegten Kommandos in einen anderen Modus geschaltet (19D2:1023), ich würde mal tippen, daß das CDC-MBIM ist. Ohne das passende Kommando, was Du vor das derzeit verwendetet setzen müßtest (oder das derzeit verwendete auch mal aus der usbgsm.cfg löschen, denn eine definitive Aussage, welche PID der Stick im CD-Mode hat, hast Du auch noch nicht, die 1185 ist nur meine Vermutung anhand der udev-Datei aus der Software).

Ohne das richtige Kommando bist Du also nicht viel weiter, vielleicht siehst Du Dir ja mal das Console-Log beim Anstecken des Sticks an, da könnte die ursprüngliche PID auch angezeigt werden. Ansonsten gibt es irgendwo in /var/tmp/ noch ein Protokoll für die usb-gsm-Abläufe, den Namen habe ich gerade nicht parat, findest Du schon.
 

jocale

Mitglied
Mitglied seit
27 Apr 2005
Beiträge
402
Punkte für Reaktionen
1
Punkte
18
Hier die Ausgabe
Code:
[email protected]:/var/mod/root# cat  /var/tmp/usbgsm.log
### potential modem 19d2 1023 detected
testing /sys/devices/platform/ifxusb_hcd/usb2/2-1
starting tty driver for 0x19d2 0x1023
i=:19d21023: invalid ttys: set for reprobe
add:no valid umts tty found
remove:keep files for reprobe

[email protected]:/var/mod/root# cat  /var/tmp/usbgsm.log.old
### potential modem 19d2 1022 detected
testing /sys/devices/platform/ifxusb_hcd/usb2/2-1
probing switch codes
c=:19d21022:c0a115 tried
c=:19d21022:c0a115 succeeded

[email protected]:/var/mod/root# cat  /var/tmp/usbgsm.ignore
i=:19d21023:

[email protected]:/var/mod/root# cat  /var/tmp/usbdevices

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=19d2 ProdID=1023 Rev=f0.55
S:  Manufacturer=Vodafone (ZTE)
S:  Product=ZTE WCDMA Technologies MSM
S:  SerialNumber=P680A1ZTED010000
C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=(none)
E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,164
Punkte für Reaktionen
753
Punkte
113
Wenn ich das richtig sehe, meldet sich der Stick nach dem Anstecken nicht als 19D2:1185 wie vermutet, sondern als 19D2:1022 (log.old) und wird dann von dem generischen Kommando (C/c0a115) auf 19D2:1023 umgeschaltet (log). Wenn man der Ausgabe unter Kubuntu und dem Inhalt der dort von Dir gefundenen Dateien für die Vodafone-Software glauben will, wäre aber 19D2:1024 der richtige Modus. Das ist am Ende wieder das, was ich vorher schon geschrieben habe und das gilt auch nur dann, wenn Deine Protokolle in #9 tatsächlich nach einem Restart der FRITZ!Box ohne Stick und beim nachträglichen Anstecken entstanden sind.

Das Problem bei diesen Sticks, die sich nach dem Anstecken erst einmal als CDROM-Laufwerk (CD-Mode) melden, ist, daß die eben erst wieder in diesem Modus zurückkehren nachdem sie einmal umgeschaltet wurden, wenn sie vom der Stromversorgung getrennt wurden. Nach einem simplen Neustart der FRITZ!Box mit angestecktem Stick liegt also eine andere Situation vor, als wenn man den Stick abzieht und wieder ansteckt.

Es bleibt aber eigentlich dabei: Du mußt das richtige Kommando zum Umschalten in den 19D2:1024-Modus finden. Die Vodafone-Linux-Software kennt es ja offenbar, sonst könnte sie nicht dahin umschalten.

Hast Du das, kann man versuchen Dir weiterzuhelfen, vorher wird es nichts. Wo Du das jetzt tatsächlich findest ... keine Ahnung. Vielleicht hilft ja schon die Internet-Suche mit "19D2:1022" - wenn das dann die richtige Kombination für den CD-Mode ist - weiter. Ich weiß es nicht und - ehrlich gesagt - ich will es auch nicht selbst herausfinden ... ;)
 

jocale

Mitglied
Mitglied seit
27 Apr 2005
Beiträge
402
Punkte für Reaktionen
1
Punkte
18
Vielen dank bis hierhin und für die Lehrstunde.

Ich habe die Fritzbox neu geflasht und nach dem Start den Stick angeschlossen.

Das Beste wird sein den Stick zu verkaufen und für das Geld ein Huawei K3765 zu holen, vielleicht hat jemand Lust zu tauschen.

http://www.dd-wrt.com/wiki/index.php/3G_/_3.5G#ZTE
Hier wird der Stick als kompatibel zur DD-WRT Firmware angegeben.
Ich denke die Info dürfte hilfreich sein auch für andere Sticks, die listen ja jede Menge an unterstützte Sticks.
Ist ja alles Linux kompatibel.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,901
Beiträge
2,027,916
Mitglieder
351,033
Neuestes Mitglied
thburkhart