3G Net i Linux
Hej,
Er der nogen der ved hvordan jeg får 3G net til at virke i Linux med Pin Kode.
En af mine venner skal have sit sat op, han har ikke windows, og ingen 3G Telefon. Den metode jeg har fundet, fungere kun uden pinkode på kortet.
En anden ting. Hvordan ændre jeg udev så den ikke finder storage delen af modemet?
Er der nogen der ved hvordan jeg får 3G net til at virke i Linux med Pin Kode.
En af mine venner skal have sit sat op, han har ikke windows, og ingen 3G Telefon. Den metode jeg har fundet, fungere kun uden pinkode på kortet.
En anden ting. Hvordan ændre jeg udev så den ikke finder storage delen af modemet?
Kommentarer16
Re: 3G Net i Linux
Nogen der kan hjælpe? Ubuntu 7.10 ...
Re: 3G Net i Linux
Det gjorde jeg for mit modem eftersom det ikke virkede med en pinkode, tror ikke du kan få det til at virke, desværre.
Re: 3G Net i Linux
Og det program jeg har hentet skulle virke, også med pinkode. Har også mulighed for at taste det ind, og den finder modemet. Men når jeg forsøger at connecte, skriver den efter lidt tid, Det var ikke muligt at forbinde .......
Og ligemeget hvilket program jeg finder tutorial til, skriver de at man godt kan glemme det, hvis den ikke finder alle tre ttyUSB, for det vil ikke virke ellers...
Re: 3G Net i Linux
Om det er sat i domæne eller ej ??? skal jeg ikke kunne sige - MEN hvis du klager din nød dernede - plejer de som regel at jkunne hjælpe.
Jeg tror desvæærre ikke helt det er muligt men ellers kig på dette script i linuxforalle der fjerner modulerne og loader dem igen!
http://www.linuxforalle.dk/content/view/948/43/
Re: 3G Net i Linux
Re: 3G Net i Linux
Har den ingen lan forbindelse giver det jo næsten sig selv
Program
Jeg bruger følgende program til at fjerne storage delen og få de tre tty'er frem (tror nok at det er det den gør).
http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo-i386.out
Det virker i hvert fald for mig, og jeg bruger 3G hver eneste dag på vej til skole og hjem derfra igen på min openSUSE maskine.
Med venlig hilsen
Kristian Iversen
Re: 3G Net i Linux
Jeg fik ikke din fil til at virke #7, jeg kørte den, men intet skete ud over at jeg fik nogle beskeder op polsk tror jeg. Men det virker også fint uden ttyUSB2
Men det ville være rart hvis man kunne få det til at virke, uden at skulle deaktivere usb-storage. Nogen der ved hvordan man tilpasser den til IKKE at finde modemet???
Re: 3G Net i Linux
men programmet som personen oven over linker til er OGSÅ hvad jeg bruger til at få modemmet sat over fra USB-storage mode til modem-mode UDEN at jeg ellers fjerner usb-storage modulet (!!)
Linker lige hertil for at inkludere muligheden for at compile modulerne selv:
http://www.kanoistika.sk/bobovsky/archiv/umts/
Hvis du bruger debian/ubuntu skal du have libusb-dev pakken installeret (og selvfølgelig compiler mv. hvilket build-essential kan give)
Anyway
gcc huaweiAktBbo.c -lusb -o huaweiAktBbo
Har følgende som udev rule i /etc/udev/rules.d/50-huawei.rules
SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/modprobe usbserial vendor=0x12d1 product=0x1003"
SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/sbin/modprobe ppp_generic"
SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/bin/sleep 10"
SUBSYSTEM=="usb", SYSFS{idProduct}=="1003", SYSFS{idVendor}=="12d1", RUN+="/usr/local/sbin/huaweiAktBbo"
BURDE virke, men syntes ikke altid at huaweiAktBbo programmet er successfuldt i første omgang.
Husk at reloade udev-regelsættene før end du prøver om dette virker. I Debian/Ubuntu gøres det ved:
udevcontrol reload_rules
Dette er min wvdial.conf:
[Dialer hsdpa]
Phone = *99***1#
Username = irrelevant
Password = irrelevant
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/ttyUSB0
Baud = 460800
Init2 = ATZ
Init3 = ATE0V1&D2&C1S0=0+IFC=2,2
ISDN = 0
Modem Type = Analog Modem
Init5 =AT+CGDCONT=1,"IP","data.tre.dk";
Med hvilket man så kan skrive
wvdial hsdpa
for at connecte.Indtil videre er det et sammensurium af noter jeg fandt fra andre (incl lifal.dk artiklen)
Men her kommer lidt unikt :)
Dette er scriptet som jeg bruger til at sikre mig en forbindelse, dvs jeg får skubbet modemet over i modem-mode MENS usb-storage MODULET FORTSAT ER LOADET og får så connected og launcher et stat program (mere om dette længere nede)
#!/usr/bin/php -q
<?
// By a guy named Jesper. The script worth's nothing but still, it's GPL 2.0 or
// any subsequent revision of the GPL license if you wish it to be.
// -q switch suppresses HTTP headers. IE: less garbage output
// Open the different streams
$stdout = fopen('php://stdout', 'w');
$stderr = fopen('php://stderr', 'w');
//Fork, simple command to run a program in the background without holding the script back
function fork($cmd)
{
$pid = pcntl_fork();
if ( $pid == -1 ) //forking failed
{
echo "Couldn't fork a new process, quitting!\n";
die();
}
else if ( $pid == 0 ) // child process
{
exec($cmd); // just execute whatever it is we wanted. Output will be shown directly on the console
}
}
//Check if the ttyUSB character files are present, if yes, the modem is assumed to be in modem mode, otherwise, we need to force it
if ( !file_exists("/dev/ttyUSB0") || !file_exists("/dev/ttyUSB1") )
{
while ( !file_exists("/dev/ttyUSB0") || !file_exists("/dev/ttyUSB1") )
{
system("huaweiAktBbo &");
echo "huawei proggie should be executed \n";
sleep(10); //sleep for 10 secs
}
fwrite($stdout, "Coerced the modem into behaving like one, proceeding\n");
} else {
fwrite($stdout, "The modem is already behaving like a modem, will attempt to connect!\n");
}
//shell_exec("wvdial hsdpa > /dev/null 2>&1 &");
fork("wvdial hsdpa");
fwrite($stdout, "launched the dialer\n");
fork("xhe220stat");
fwrite($stdout, "modem monitor launched, you should be good to go!\n");
// Close the streams again
fclose($stdout);
fclose($stderr);
?>
Ja ja, det er måske ikke verdens smukkeste script, men det er hvad jeg gad koge op :)
Btw, i Debian/Ubuntu skal du installere pakken php5-cgi for at kunne eksekvere scriptet.
Hvad scriptet gør:
Det tjekker om de nødvendige device filer er til stede, hvis nogle mangler forståes dette som at modemet er i usb-storage mode, derfor launchers huaweiAktbo med regulære intervaller indtil programmet får fat i modemet og sparket det over til modem-mode - Når dette er sket startes forbindelsen (wvdial hsdpa - ændr enten scriptets kald eller din wvdial.conf) og xhe220stat launches så du kan se signal-styrke og hvilket bånd du er på (fx UMTS eller HSDPA)
Til signal og forbindelses-statestik har jeg hentet xhe220stat fra http://oozie.fm.interia.pl/pro/huawei-e220/
Her skal man ved Debian/Ubuntu sikre sig at have libncurses5-dev installeret hvis man ønsker xhe220stat compilet.
./configure
make
Så kan man ellers kopiere xhe220stat over et sted hvor den er i ens path. (ex /usr/local/bin)
Denne launches når man er connected.
Ja. Jeg håber dette ordner det for dig :) Du er fri til at skrive scriptet om til bash eller lign, jeg orker bare ikke bash-syntaksen da jeg konstant glemmer den (LORTE syntaks! De burde bare følge C-stilen som C++/Java/C#/PHP og andre sprog gør)
Re: 3G Net i Linux
Ved ikke om jeg får tid til at fumle mig igennem det i dag, da jeg skal på arbejde om 45 min. Men skal nok komme til det. Lyder som det jeg mangler, også med status over signal mm... Det lyder godt
Re: 3G Net i Linux
Jeg er også en SKOVL!
Det
Det skal selvfølgelig være php5-cli (cli for client) IKKE cgi versionen der blot er en anden version af PHP til webservere.. Det beklager jeg sgu ;)
Path skal i så fald (på et Debian/Ubuntu system) ændres til
#!/usr/bin/php5
Har lige testet på mit eget system. Burde virke :)
Og mht tid. Skrev scriptet 1 gang og skrev så en lille step-by-step fil til mig selv om emnet. Tager mig højst 10mins fra nu af :) Tager noget tid første gang men ellers så er det ret hurtigt :D
Re: 3G Net i Linux
Re: 3G Net i Linux
Men jeg tænkte på.
Er der en måde hvorpå man blot kan have et icon liggende på skrivebordet man kan klikke på, og så forbinder den via det script. Ham jeg ordner det her for kender ikke så meget til Linux, og slet ikke til terminaler
Re: 3G Net i Linux
Re: 3G Net i Linux
Nå, men så virker alt jo så det er til for ham at finde ud af.
Takker for hjælpen :)