mit umts und linux ins internet

Ähm sorry/bin schon auf 10.1

sorry hab voll übersehen dass ich in meiner signatur noch 9.3 stehen hab.

Hab schon Version 10.1

Aber werd das mit dem switch testen. Das heißt der switcher muss für modem geschrieben sein oder wie?

werd das mal suchen und das ergebniss posten. Danke

martin
 
Solltest Du keinen Switcher für Dein Modem finden, so versuche mal die icon_switch.c mit Deinen Werten (wie oben beschrieben) zu editieren, und dann mit *
Code:
gcc -o icon_switch icon_switch.c -lusb
in eine Ausführbare Datei umwndeln ( -l(L)usb )
Jetzt noch die Rechte ändern und icon_switch ausführen.
Jetzt dürfte (hoffentlich) Dein Stick als Modem funktionieren.

*libusb-0.1.12-(27?) benötigt download hier

Wenn Du Erfolg hast bitte AUCH posten!

PS.: Die icon_switch kannst Du dann in der /usr/local/bin ablegen.
 
Zuletzt bearbeitet:
Moin, Ich habe mich gerade auf diesem Board registriert, weil ich auch das problem habe das meine Eplus UMTS Card nicht unter Linux läuft.

Ich will von Windows XP auf Open Suse 10.2 wechseln, welches ich auch schon installiert habe.

Ich habe die obrigen anleitungen benutzt, mir das base umts linux paket runtergeladen und die Vendor und Produkt id eingefügt. das ganze habe ich in /etc kopiert, wie oben beschrieben.
Danach habe ich das pon und poff script angelegt, weil es noch nicht vorhanden war.

wenn ich jetzt im terminal "pon umts" eingebe, bekomme ich das:

linuxGmbSNeo:/home/neo # pon umts
Serial connection established.
using channel 6
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x375e6b58> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x8 <asyncmap 0x0> <auth chap MD5> <magic 0x81a5127> <pcomp> <accomp>]
sent [LCP ConfNak id=0x8 <auth pap>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x375e6b58> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x9 <asyncmap 0x0> <auth pap> <magic 0x81a5127> <pcomp> <accomp>]
sent [LCP ConfAck id=0x9 <asyncmap 0x0> <auth pap> <magic 0x81a5127> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x375e6b58]
sent [PAP AuthReq id=0x1 user="umts" password=<hidden>]
rcvd [LCP DiscReq id=0xa magic=0x81a5127]
rcvd [LCP EchoRep id=0x0 magic=0x81a5127 37 5e 6b 58]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
rcvd [LCP ProtRej id=0xb 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
Modem hangup
Connection terminated.


Ich habe so gut wie keine ahnung von linux, und komme hier nicht weiter.
wär echt klasse wenn mir da jemand helfen kann.

MfG
 
Ist das auch ein USB - Modem, oder eine Karte?
Auf jedenfall scheint Dein Modem schon mal ansprechbar zu sein.
Die einzigen Variablen, die Du nochmal Prüfen solltest, sind:
Product id (da Modem ansprechbar nicht bei Dir der fehler)
Vektor ( " )
PIN (z.B. 2456, hier schauen)
Provider Daten (hier scheint der Fehler bei Dir zu liegen) (Du findest die Daten in der Datei /etc/ppp/chat.umts)
schonmal eine Vorab Version einer Umfassenden Anleitung -> http://athurs-eck.gmxhome.de diese Seite und auch die Anleitung sind noch nicht ganz fertig, also nicht zu genau hinschauen.
Anbei poste ich meine Einwahl, damit Du siehst der Weg passt bis zum Provider.
Code:
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/ttyUSB0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x9be17015> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <auth chap MD5> <magic 0x2859bbde> <pcomp> <accomp>]
sent [LCP ConfNak id=0x4 <auth pap>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x9be17015> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x5 <asyncmap 0x0> <auth pap> <magic 0x2859bbde> <pcomp> <accomp>]
sent [LCP ConfAck id=0x5 <asyncmap 0x0> <auth pap> <magic 0x2859bbde> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0x9be17015]
sent [PAP AuthReq id=0x1 user="umts" password=<hidden>]
rcvd [LCP DiscReq id=0x6 magic=0x2859bbde]
rcvd [LCP EchoRep id=0x0 magic=0x2859bbde 9b e1 70 15]
rcvd [PAP AuthAck id=0x1 ""]
PAP authentication succeeded
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>]
rcvd [LCP ProtRej id=0x7 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfNak id=0x1 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x2 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x2 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x3 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x3 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x4 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x4 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x5 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x5 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x6 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x6 <ms-dns1 10.11.12.13> <ms-dns3 10.11.12.14> <ms-wins 10.11.12.13> <ms-wins 10.11.12.14>]
sent [IPCP ConfReq id=0x7 <addr 0.0.0.0>]
rcvd [IPCP ConfReq id=0x2]
sent [IPCP ConfNak id=0x2 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x7 <addr 90.187.139.45>]
sent [IPCP ConfReq id=0x8]
rcvd [IPCP ConfNak id=0x8 <addr 90.187.139.45>]
sent [IPCP ConfReq id=0x9 <addr 90.187.139.45>]
rcvd [IPCP ConfAck id=0x9 <addr 90.187.139.45>]
rcvd [IPCP ConfReq id=0x3]
sent [IPCP ConfAck id=0x3]
Could not determine remote IP address: defaulting to 10.64.64.64
local  IP address 90.187.139.45
remote IP address 10.64.64.64
Script /etc/ppp/ip-up started (pid 8304)
Script /etc/ppp/ip-up finished (pid 8304), status = 0x0
 
Ich habe eine Karte, PCMCIA UMTS CARD 2.

So sieht bei mir die chat.umts aus:

TIMEOUT 240
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "ERROR"
ABORT "NO ANSWER"
ABORT "BUSY"
"" "+++atz"
OK "ATE0V1"
OK "AT_OPSYS=3,2"
OK AT+CGDCONT=1,"IP","internet.eplus.de","",0,0
OK "ATD*99***1#"
"CONNECT" ""
 
Leider sehe ich gerade keinen Fehler, soweit ich weiß sollten die Providerdaten für E-Plus passen.
wie ist das bei Dir mit der PIN? Kannst Du diese Abfrage (wie bei mir) unter Windows abschalten (beste Möglichkeit), sonst füge nochmal die Zeile
Code:
OK "AT+CPIN=\042XXXX\042"  (eintragen, XXXX mit eigener PIN ersetzen, aber besser ist die PIN abfrage zu deaktivieren)
in die chat-datei ein, oder versuche die umts und umts.chat von Athurs-Eck (die farbiegen Werte anpassen). Du kannst auch versuchen die Verbindung mit Kinternet herzustellen (sollte Standartmäßig gleich mit installiert worden sein, wenn nicht über Yast2 installieren).
Kinternet einrichten
 
Zuletzt bearbeitet:
Hab´s jetzt versucht!!!

Hallo

Hab jetzt wie beschrieben die libusb installiert (keine probleme) dann in der icon switch die vendor und product geändert!

Mir ist aufgefallen das meine zwei Zahlen kürzer sind als die zuvor angegebenen und auch irgendwie anders vorher stand da: 0x05c6 und meine ist: 12d1

komisch oder???

naja auf jeden fall kann ich die icon_switch irgendwie nicht ausführbar machen. Ich habs im dateimenü unter executeable eingestellt also angehakt.

Was mach ich denn da falsch?

danke und grüße aus wien
 
Hallo

Hab jetzt wie beschrieben die libusb installiert (keine probleme) dann in der icon switch die vendor und product geändert!

Mir ist aufgefallen das meine zwei Zahlen kürzer sind als die zuvor angegebenen und auch irgendwie anders vorher stand da: 0x05c6 und meine ist: 12d1

komisch oder???
Wenn ich Dich richtig verstehe störrt Dich hier nur das die Original (meine) "Zahl" 0x05c6 ist und Deine kürzer, oder hat sich die Zahl bei Dir geändert?
Die 12d1 als 0x12d1 eintragen, das ist ganz normal, wenn ich das vorher nicht erwähnt habe - sorry!

naja auf jeden fall kann ich die icon_switch irgendwie nicht ausführbar machen. Ich habs im dateimenü unter executeable eingestellt also angehakt.

Was mach ich denn da falsch?

danke und grüße aus wien

also Du hast die Datei icon_switch.c editiert, danach
mit
Code:
gcc -o icon_switch icon_switch.c -lusb        (-Lusb)
durch den Kompiler gejagt und hast die Datei icon_switch erhalten?
Diese hast Du dann Ausführbar gemacht und Schreibrechte für User und Gruppe erteilt? - Und nichts passiert, auch kein Text und nichts?
Hast Du Fehlermeldungen beim kompilieren erhalten?
 
Kann icon switch nicht ausführen

Hi!

Hab jetzt alles nochmal von vorne genau nach anweisung gemacht! Die icon switch ist ausführbar alle rechte sind vorhanden usw.

Wenn ich jetzt die icon switch ausführe (also ein klick auf das zahnradsymbol) fragt er mich nach dem programm mit dem ich es ausführen möchte?????

Hab keine ahnung. Habs auch schon im terminal probiert: datei nicht gefunden!

Was kann ich noch machen bin kurz vorm verzweifeln!!

danke martin
 
Naja,

du musst natürlich auch in dem Verzeichnis sein in dem die Datei liegt.

Code:
cd dein_verzeichnis

Starten kannst du sie dann mit:

Code:
./deine_datei
 
achja so war das (sorry)

Hab sie jetzt ausgeführt. Modem war angesteckt und bereit (also als disk erkannt)


Meldung:

PHP:
mainstation:/usr/bin # ./icon_switch

 * icon_switch: tool for changing USB mode of Option Icon 3G+ box
 * (C) Josua Dietze 2006
 * Works with libusb 0.1.12 and probably other versions

Looking for Option Icon USB 3G+ box ...
Found box in storage mode. Preparing for switching ...
Looking for active storage driver ...
 OK, driver found ("usb-storage"), attempting to detach it ...
 OK, driver "usb-storage" successfully detached
Device change command returned error -2mainstation:/usr/bin #

Wenn ich die icon_switch nochmal ausführe kommt die selbe meldung aber das modem wird gleich darauf als cd/dvd erkannt. wenn ich sie dann nochmals ausführe kommt die meldung: gerät nicht verbunden (can´t communicate)

???????

so ein scheiss

danke martin
 
Du hast die falschen Daten für Dein Modem, oder dort ein fehler gemacht. Poste doch mal die von Dir bearbeitete icon_switch.c und Deine Modemdaten, dann kann ich Dir hoffentlich mehr sagen.
Und nochmal die genaue Modembezeichnung.
Das wird schon irgendwann klappen, nur gedult.
 
Modemdaten

In Windows (funktioniert einwandfrei) habe ich folgende gerätestanzerkennung ausgelesen:

PHP:
USB\VID_12D1&PID_1003&MI_00\6&23C890CB&1&0000

Also die Daten die ich in die icon_switch.c eingetragen habe sind:

12D1 und 1003 also 0x12D1 (habs aber in der icon_switch klein geschrieben) und 0x1003

poste die icon_switch dann gleich nochmal.

Danke schon mal für Eure Geduld

icon_switch.c (mit meinen daten):
PHP:
/*
  Mode switcher for Option Icon 3G+ USB box

  Copyright (C) 2006  Josua Dietze  (digidietze nospam t-online spamno de)

  Triggers the switching of the box from storage device mode
  to modem (serial) device mode.

  Created with help from usbsnoop2libusb.pl (http://iki.fi/lindi/usb/usbsnoop2libusb.pl)

  Version 0.2, 2006/09/25
    Code cleaning, more messages
  Version 0.1, 2006/09/24
    Just very basic functionality ...


  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details:

  http://www.gnu.org/licenses/gpl.txt

*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <signal.h>
#include <ctype.h>
#include <usb.h>

struct usb_dev_handle *devh;

void release_usb_device(int dummy) {
    int ret;
    printf("Program cancelled by system. Bye\n\n");
    ret = usb_release_interface(devh, 0);
    if (!ret)
	printf(" Oops, failed to release interface: %d\n", ret);
    usb_close(devh);
    if (!ret)
	printf(" Oops, failed to close interface: %d\n", ret);
    printf("\n");
    exit(1);
}

struct usb_device *find_device(int vendor, int product) {
    struct usb_bus *bus;
    struct usb_device *right_dev;
    right_dev = NULL;
    
    printf("Looking for Option Icon USB 3G+ box ...\n");
    for (bus = usb_get_busses(); bus; bus = bus->next) {
	struct usb_device *dev;
	
	for (dev = bus->devices; dev; dev = dev->next) {
	    if (dev->descriptor.idVendor == vendor && dev->descriptor.idProduct == product) {
		right_dev = dev;
	    }
	    if (dev->descriptor.idVendor == 0x0af0 && dev->descriptor.idProduct == 0x6600) {
	        printf("Found box in modem mode. Switching not necessary. Bye\n\n");
		exit(0);		
	    }
	}
    }
    if (right_dev != NULL)
	printf("Found box in storage mode. Preparing for switching ...\n");
    else {
	printf("No Option Icon box found. Is it connected? Bye\n\n");
	exit(0);
    }
    return right_dev;
}

int main(int argc, char **argv) {
    int ret;
    int vendor = 0x12d1;
    int product = 0x1003;

    struct usb_device *dev;
    char buf[65535];

    printf("\n * icon_switch: tool for changing USB mode of Option Icon 3G+ box\n");
    printf(" * (C) Josua Dietze 2006\n");
    printf(" * Works with libusb 0.1.12 and probably other versions\n\n");

    usb_init();
    usb_find_busses();
    usb_find_devices();

    dev = find_device(vendor, product);
    assert(dev);

    devh = usb_open(dev);
    assert(devh);
    
    signal(SIGTERM, release_usb_device);

    printf("Looking for active storage driver ...\n");
    ret = usb_get_driver_np(devh, 0, buf, sizeof(buf));
    if (ret == 0) {
	printf(" OK, driver found (\"%s\"), attempting to detach it ...\n", buf);
	ret = usb_detach_kernel_driver_np(devh, 0);
	if (ret == 0)
    	    printf(" OK, driver \"%s\" successfully detached\n", buf);
	else
    	    printf(" Oops, driver \"%s\" detach failed with error %d. Trying to continue ...\n", buf, ret);
    } else {
        printf("No driver found. Box was not initialized. Can't communicate. Bye\n\n");
	exit(1);
    }
    ret = usb_claim_interface(devh, 0);
    if (ret != 0) {
	printf("Could not claim interface (error %d). Can't communicate. Bye\n\n", ret);
	exit(1);
    }
    
    ret = usb_set_altinterface(devh, 0);
    assert(ret >= 0);
 
 
    memcpy(buf, "\x55\x53\x42\x43\x70\x6e\xde\x86\x00\x00\x00\x00\x00\x00\x06\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 0x000001f);
    ret = usb_bulk_write(devh, 0x00000005, buf, 0x000001f, 1000);
    if (ret >= 0 )
	printf("Device change command successfully sent. Box probably switched.\nLook at /var/log/syslog for result ... Bye\n\n");
    else
	printf("Device change command returned error %d", ret);
 
    ret = usb_release_interface(devh, 0);
    assert(ret == 0);

    ret = usb_close(devh);
    assert(ret == 0);

    return 0;
}
 
Zuletzt bearbeitet:
Es gibt zweimal die Vendor und Product Daten, einmal für das Modem und einmal für die Festplatte.

Wenn die von Dir angegebenen Daten für das Modem sind, fehlen noch die Daten für die Festplatte (heraus finden kannst Du diese unter Windows, auf gleicher Weise wie Du schon hast, musst halt nur darauf achten, das Dein Stick auch als Festplatte/Cd-Laufwerk erkannt wurde).
Danach trage diese Daten hier ein:
Auszug aus icon_switch.c
Code:
[COLOR=#000000][COLOR=#0000BB]int main[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]int argc[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]char [/COLOR][COLOR=#007700]**[/COLOR][COLOR=#0000BB]argv[/COLOR][COLOR=#007700]) { 
    [/COLOR][COLOR=#0000BB]int ret[/COLOR][COLOR=#007700]; 
    [/COLOR][COLOR=#0000BB]int vendor [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0x12d1[/COLOR][COLOR=#007700]; 
    [/COLOR][COLOR=#0000BB]int product [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000BB]0x1003[/COLOR][COLOR=#007700][/COLOR][/COLOR]
 
Aber in windows kennt er es nur als modem. Ich glaub da ist auch so eine art switch mit dabei. Anfangs wird es nämlich kurz als cd erkannt und dann wird gleich umgeschaltet. Werd schaun ob ich das so schnell hinbekomme.

Aber die daten für das modem sind richtig eingetragen oder??? Nur das ist doch die einzige stelle wo ich diese daten eintragen kann oder? oder muss ich nur die daten für das laufwerk eintragen?


danke

martin
 
Zuletzt bearbeitet:
Wenn Du mir die genaue Bezeichnung für Dein Modem geben würdest, könnte ich auch mal im I-net schauen, was ich so finde und mir dann evtl. ein besseres Bild von Deiner Hardware machen.
Zu Windows, evtl. Software deinstallieren.
Sonst sah es gut aus, nutzt nur leider nichts, wenn er nicht weiß welche Komponente er switchen soll.
 
hab grad geschaut:

im gerätemanager scheint das modem auch als usb storage device auf aber mit den gleichen daten. also 12D1 und 1003

Mein Modem

Huawai mobile E220 hsdpa usb modem

danke
 
Sorry, ich hätte gleich daran denken können.
Was steht denn unter Suse:
Menü -> (Anwendungen) -> System -> Überwachung -> Infozentrum -> USB - Geräte -> hier sollte Dein Modem / CD - Laufwerk aufgelistet sein und auch die gerade erkannten Werte angezeigt werden.
 
Kein Eintrag unter usb devices im Linux

Unter usb geräte gibt es keinen eintrag aber als cd wird er im arbeitsplatz (linux) erkannt.

????hääää
 
???? hääää - auch bei mir, aber ich suche weiter. Benutzt Du OS 10.1 oder 10.1 x86_64 mit Deinen Athlon Proz.?
 

Ähnliche Themen

Samba 4 + PowerShell?

Software Freedom Day 2009 in Hamburg

iptables weiterleitung port vom internen Netzwerk zum internet Port

Bandbreite zu gering (USB UMTS Modem)

Suse 10.1 mit Fritz Box kein internet

Zurück
Oben