[Comm] Билайн USB модем

Il'ya =?iso-8859-1?q?brutalfreak_=CE=C1_gmail=2Ecom?=
Пт Фев 20 04:42:31 MSK 2009


Вот для себя делал заметку, по ней все сделал за 5 минут после
перехода с 4.0 на 4.1.

После подключения модема запустить скрипт

#!/bin/sh
sleep 5
eject /dev/rs0
sleep 5
rmmod usbserial
sleep 5
insmod /lib/modules/2.6.18-std-smp-alt8/kernel/drivers/usb/serial/usbserial.ko
vendor=0x19d2 product=0x0031
rm -f /etc/resolv.conf
cp -f /root/resolv.conf.mega /etc/resolv.conf

2.6.18-std-smp-alt8 текущее ядро
eject /dev/rs0 можно упустить если в модеме отключить автозапуск в роли привода.
Последние строки нужны так как по непонятным причинам именно при
соединении этим способом по этому модему /etc/resolv.conf сам не
обновляется, при этом если через мобилу, то все нормально. Либо
указать в параметрах kppp.

Так же нужно в crontab добавить на поминутное выполнение программу
скомпилированную из этого кода UnBeeline.c (сперто с форума
гентушников):

#include <usb.h>
#include <stdio.h>
#include <string.h>

int OpenMyDevice(struct usb_device **device, usb_dev_handle
**udev_handle, int VID, int PID)
{
struct usb_bus *bus;

struct usb_device *dev;
usb_dev_handle *udev;

int isFound = 0;

usb_init();

usb_find_busses();
usb_find_devices();

for (bus = usb_busses; bus; bus = bus->next) {
for (dev = bus->devices; dev; dev = dev->next) {
udev = usb_open(dev);
if ( (dev->descriptor.idVendor == VID) &
(dev->descriptor.idProduct == PID)) {
isFound = 1;
break;
} else {
if (udev) usb_close(udev);
};
}
if (isFound)
break;
}

*device = dev;
*udev_handle = udev;

return isFound;

}



int main(void)
{
struct usb_device *dev;
usb_dev_handle *udev;
int rc;

char msg[] = "AT+ZOPERTE=\"beeline\"\r\n";
int NUM = strlen(msg);


if (OpenMyDevice(&dev, &udev, 0x19d2, 0x0031)) {
printf("Device found\n");
} else {
printf("Device not found\n");
exit(1);
};

printf("Claim_interface: %d\n", usb_claim_interface(udev, 1));
printf("Alt_interface: %d\n", usb_set_altinterface(udev, 1));


rc = usb_bulk_write(udev, 2, (char *)msg, NUM, 1000);

printf("USB bulk write: %d (%d)\n", rc, NUM);

usb_close(udev);

return 0;
}

Копмилировать командой:
gcc -o UnBeeline UnBeeline.c -lusb

Есть уже скомпилириванный этот код в 4.0, в 4.1 он так же работает.
Если что могу  выслать.

Посмотреть наличие модема ls /dev/ttyUSB*

Понадобяться пакеты libusb, libusb-devel.

20 февраля 2009 г. 5:09 пользователь Sokolov Aleksandr
<masterklavir на gmail.com> написал:
>
>  Здравствуйте все!
> Помогите пожалуйста разобраться с установкой билайновского модема.
> Я посмотрел архив рассылки и мало что понял.
> Опишу то, что уже сделал:
> 1. создал скрипт startmodem в
> /usr/bin/startmodem
> следующего содержания:
>  #!/bin/sh
>  sudo usb1on.shsleep 10
>  sudo eject /dev/sr0sleep 5
>  sudo modprobe usbserial vendor=0×19d2product=0×0001sleep5
>  sudo dmesg|grep -i ttyUSB0
>  sudo comgt -d /dev/ttyUSB0
>  sudo cp /etc/resolv.conf.ppp /etc/resolv.conf
> sudo chmod +x /usr/bin/startmodem.sh
>  Скрипт нормально работает отключает cdrom, и переключает в режим модема.
> Читал инструкцию
> http://ru.gentoo-wiki.com:80/wiki/MF626
> но не понял, как действовать дальше?
> Там уж больно навороченно, мне кажется должен быть более простой способ.
> Если кого не затруднит, объясните пожалуйста тупому юзеру как всё же заставить
> эту штуку пустить меня в интернет?
>  С уважением Соколов Александр г. Самара
> _______________________________________________
> community mailing list
> community на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/community


Подробная информация о списке рассылки community