×

Notice

The forum is in read only mode.
Welcome, Guest
Username: Password: Remember me

TOPIC:

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #604

  • GennadyX
  • GennadyX's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 15
  • Karma: 1
  • Thank you received: 0
serzho, а ты не из России случайно?)

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #606

  • serzho
  • serzho's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 4
  • Thank you received: 0
Нет, я из Украины.

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #609

  • Yaroslav
  • Yaroslav's Avatar
  • Offline
  • Senior Member
  • Senior Member
  • Posts: 56
  • Karma: 13
  • Thank you received: 14

Здраствуйте форумчане. Я пытался подключить мой фрештеловкий модем через ваш драйвер и всегда получал такую ошибку:

Device found
detached modem kernel driver
Claimed interface
Allocated tap interface: wimax0
Search network...
Network found.
Connecting to BSID: 00:00:32:71:02:1b
Connected to Network.
Start Authentication.
Authentication Failed. Renewing Authentication.
Error connecting to BSID: 00:00:32:71:02:1b
Connecting to BSID: 00:00:32:71:67:2c
Start Authentication.
Authentication Failed. Renewing Authentication.
Error connecting to BSID: 00:00:32:71:67:2c
Connecting to BSID: 00:00:32:71:02:06
....
И так далее.

Мой модем: SWU-3220A 0.0.6.2
Версия прошивки: 1.8.0.0 : 1.8.9.4

Сам драйвер я запускаю вот так: sudo ./wimax --login=login --pass=password

Заранее спасибо.

File Attachment:

File Name: logs_2011-02-28.txt
File Size:19 KB

Попробуй так
sudo ./wimax --login=login --pass=password [email protected]

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #610

  • serzho
  • serzho's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 4
  • Thank you received: 0

Здраствуйте форумчане. Я пытался подключить мой фрештеловкий модем через ваш драйвер и всегда получал такую ошибку:

Device found
detached modem kernel driver
Claimed interface
Allocated tap interface: wimax0
Search network...
Network found.
Connecting to BSID: 00:00:32:71:02:1b
Connected to Network.
Start Authentication.
Authentication Failed. Renewing Authentication.
Error connecting to BSID: 00:00:32:71:02:1b
Connecting to BSID: 00:00:32:71:67:2c
Start Authentication.
Authentication Failed. Renewing Authentication.
Error connecting to BSID: 00:00:32:71:67:2c
Connecting to BSID: 00:00:32:71:02:06
....
И так далее.

Мой модем: SWU-3220A 0.0.6.2
Версия прошивки: 1.8.0.0 : 1.8.9.4

Сам драйвер я запускаю вот так: sudo ./wimax --login=login --pass=password

Заранее спасибо.

File Attachment:

File Name: logs_2011-02-28.txt
File Size:19 KB

Попробуй так
sudo ./wimax --login=login --pass=password [email protected]


Заработало. Спасибо)
А вот значение параметра nai мне нужно будет откуда-то брать, или оно постоянно?

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #611

  • Yaroslav
  • Yaroslav's Avatar
  • Offline
  • Senior Member
  • Senior Member
  • Posts: 56
  • Karma: 13
  • Thank you received: 14

Заработало. Спасибо)
А вот значение параметра nai мне нужно будет откуда-то брать, или оно постоянно?


Оно постоянно.002107018b94 - это MAC адрес твоего модема

В драйвере по умолчанию используется простоНо в некоторых местах оно так не хочет работать.
The following user(s) said Thank You: serzho

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #613

  • serzho
  • serzho's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 4
  • Thank you received: 0
Понял. Спасибо большое)

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #614

  • mrbober
  • mrbober's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 1
  • Thank you received: 0
Люди я лох, сегодня час назад поставил себе линукс....
Архив разархивирываю в домашней папке. в терминале я вожу

$ tar xf gctwimax-0.0.1d.tar.gz
$ cd gctwimax-0.0.1d
$ make

после вытетает ошибка

src/wimax.c:602: error: ‘LIBUSB_ERROR_NO_DEVICE’ undeclared (first use in this function)

что я не так делаю?!

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #617

  • Sergey
  • Sergey's Avatar
  • Offline
  • New Member
  • New Member
  • Posts: 4
  • Thank you received: 0
Скомпилил таки для mips! Запускаю на роутере D-link DIR-320.
При запуске wimax -vv замирает после вывода следующих строк на экран:
Device found
Claimed interface
Continuous async read start...

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #621

  • Evil Beaver
  • Evil Beaver's Avatar
  • Visitor
  • Visitor
Здравствуйте, спасибо за драйвер. 3 вопроса:

1. Есть ли возможность запускать не из-под рута?
2. Идет ли разработка графической "морды" к данному драйверу? Думал написать сам, но если она уже вот-вот появится, то нет смысла изобретать велосипед.
3. Можно поподробнее про режим демона? в чем прелесть, как управлять модемом в этом режиме?

Freshtel и модемы Sagem f@st 9520 Seowon SWU-3220A 13 years 1 month ago #623

  • fanboy
  • fanboy's Avatar
  • Visitor
  • Visitor

А под провайдера Comstar Wimax реально этот драйвер применить?


Мне удалось приспособить версию 0.0.1d для работы в сети Комстар.

Не смотря на то, что на модеме Seowon Comstar написано "3220A", на самом деле это 3210A. Казалось бы, ничем, кроме рабочей полосы частот, он не должен отличаться, но он отличается. (Хотя, возможно, это просто издержки различных дистрибутивов Linux - не берусь утверждать.) Так вот:

В функции поиска модема (wimax.c) использовалось значение параметра bInterfaceNumber равное 1, хотя в моей системе рабочим оказалось значение 0.

Я немного переписал код, а это значение вытащил в дефайны для простоты переделки (в будущем можно, например, через командную строку задавать).
#define IFACE 0
// 0 - для модема комстар, 1 - для модема фрештел 

static struct libusb_device_handle* find_wimax_device(void)
{
	struct libusb_device_handle* handle = NULL;
	int r;
	//Switch modem the same as in usb_modeswitch
	handle = libusb_open_device_with_vid_pid(NULL, 0x1076, 0x7f40);
	if (handle)
	{
		if (libusb_kernel_driver_active(handle, IFACE) == 1)
		{
			r = libusb_detach_kernel_driver(handle, IFACE);
			if (r < 0)
				wmlog_msg(1, "Kernel driver detaching (error %d)\n", r);
			else
				wmlog_msg(1, "Kernel driver detached!\n");
		}	

		r = libusb_claim_interface(handle, IFACE);

		if (r < 0) 
			wmlog_msg(1, "Claim Interface problems (error %d)\n", r);
		else
		{
			wmlog_msg(1, "Innterface claimed\n");	

			r = libusb_control_transfer(handle, 0xa1, 0xa0, 0, IFACE, read_buffer, 1, 1000);
			wmlog_msg(1, "Sending Control message (result %d - %s)\n", r, r ? "bad" : "ok");

			libusb_release_interface(handle, IFACE);

			libusb_close(handle);
		}
	}

	int retry = 0;
	do
	{
		sleep(1); // Wait while device switching
		handle = libusb_open_device_with_vid_pid(NULL, 0x1076, 0x7f00);
	}
	while (retry++ < 5 && !handle);

	if (handle) wmlog_msg(2, "Device switched after %d retries.\n", retry);
	else  wmlog_msg(1, "Device not switched after %d retries.\n", retry);

	return handle;
}
(Заодно немного переделал ожидание переключения в режим модема.)

Исправленный wimax.c для работы в сети Comstar - в аттаче. Если переправить IFACE 0 на IFACE 1 получим код для работы в сети Freshtel, который, полагаю, должен быть всё ещё работоспособным.

Для подключения к сети используется логин и пароль от пользователя, создаваемого вместе с аккаунтом (см. картинку в аттаче).

Предполагаем, что находимся в папке со свежесобранным модулем wimax (например, /tmp/gctwimax-0.0.1d/). Тогда подключение выполняется командой вида:

sudo ./wimax --login=%wimax-login% --pass=%wimax-pswd% --nspid=000029 --nai=%wimax-login%:%wimax-pswd%@wimax.comstar-uts.ru

Например, для данных, указанных на картинке из аттача:

sudo ./wimax -vv --login=wimax12345 --pass=y0urp$wD --nspid=000029 --nai=wimax12345:y0urp$wD@wimax.comstar-uts.ru

(ключик -vv можно и убрать, если вам не нужна диагностическая информация)

Также я предполагю, что модем должен поддерживать аутентификацию по %MAC-login% без пароля, но добиться результата в этом направлении мне так и не удалось. Бегло взгянув на различия в коде madwimax (который успешно работает с модемом Samsung U-200) и gctwimax, у меня закрались подозрения, что эта функция не поддерживается в gctwimax. Опять же, не берусь это утверждать, т.к. потратил совсем мало времени на разбор этого участка кода.

Все опыты проводились в Arch Linux.
libeap был собран из AUR (aur.archlinux.org/packages.php?ID=39378)
Версии использованных libeap и libusb указаны в аттаче.

Информация о модеме:
Chip info: 0070
Firmware info: 1.01.1954

Резюме:
Для работы в сети комстар:
  1. устанавливаем зависимости (типа libusb)
  2. собираем libeap (по инструкции из INSTALL архива gctwimax - или как угодно на свой страх и риск)
  3. заменяем /src/wimax.c на соответствующий файл из аттача
  4. собираем gctwimax командой make
  5. запускаем с указанием логина и пароля, которые можно найти на странице управления доступом в своём "Личном кабинете" Комстар. Формат командной строки приведён выше.

P. S. Как следует протестировать работу ещё не было времени, но постоянно выскакивающие сообщения вида
bad format: 81 0e
bad format: 81 11
говорят о том, что впереди ещё много подводных камней.
Attachments:
Time to create page: 0.141 seconds
Powered by Kunena Forum