PDA

Bekijk de volledige versie : Загрузка прошивки с USB



VictorL
05-06-2005, 23:37
сабж, собственно. На usb-hdd сделана система, все по инструкции. Перезагрузка без выключения питания проходит нормально, грузится с харда. После выключения питания грузится почему-то только с внутреннего флеша. Результат одинаковый хоть с usb-hdd, хоть с usb-flash [вначале подумал, что хард не успевает разогнатся, пресадил на флешку - то же самое].
Это фича или баг?

Oleg
06-06-2005, 08:49
Хаб есть? Там действительно только три секунды отводится на старт устройства.

VictorL
06-06-2005, 14:18
Все включено прямо в рутер. На hdd три раздела, 1- ftp, ext3; 2 - swap (not used), 3 - system, ext3. Причем результат одинаковый, что с флешкой, что с хардом.
router WL500gx, fw 1.9.2.7-5a.
В файле - логи при разных вариантах загрузки.

Oleg
06-06-2005, 14:34
В случае включения и с флешкой и диском вываливается

Jan 1 00:00:05 kernel: usb-uhci.c: USBCMD_HCRESET timed out!

Я так понимаю, там не только не грузится, так ещё и не определяется вообще... Странно.

Флешка - USB 2.0? Ещё какие-нибудь USB устройства подключены? Прегрузка по питанию? Может USB контроллёр не успевает выйти из reset?

У меня грузится нормально с USB 1.1 флешки...
Могу попробовать инициализовать сначала USB 2.0, а затем USB 1.1...

VictorL
06-06-2005, 15:02
hdd точно usb 2, на PC дает трансфер 15-17 мб/с. Флешка точно не 2.0, а вот 1.0 или 1.1 - не знаю, стерлись на ней все надписи. Возьму завтра флешку с 2.0, попробую с ней. А у народа с usb-hdd грузится нормально, может у меня тошиба тормознутая, долго раскручивается [хотя новая, на 40 гыг]? Еще интересно, при подаче питания она включается, потом тухнет на пару секунд и опять стартует.
По перегрузке - вряд ли, штатный блок на два ампера, а рутер с флешкой кушает меньше.
Я уже подумал - может post-boot дополнить анализом - есле hdd не завелся, то reboot. Правда, при отключеном харде будет вечный reboot :) !, флажки надо будет лепить.

Oleg
06-06-2005, 15:04
Досточно сделать
dmesg | grep timeout

И ребутить если что.

pLuto
03-12-2007, 14:03
Стояла прошивка 1.9.2.7-7g, с корнем, вынесенным на внешнюю флешку. Захотелось проапгрейдить до 1.9.2.7-8, попытался сделать это через веб-интерфейс - апгрейд прошел, но после перезагрузки роутер не поднялся. Пришлось выдергивать флешку, перезагружаться с встроенного флеша, копировать новый корень на смонтированную флешку и перезагружаться еще раз. Что, в общем-то, логично, но очень неудобно.
Вопрос - есть ли какой-нибудь правильный алгоритм апгрейда прошивки в таком случае, чтобы можно было бы делать его дистанционно без опасности потерять роутер?

Oleg
03-12-2007, 14:09
Да, надо запрещать загрузку с внешнего девайса перед апгрейдом. После апгрейда перезаписать новые файлы поверх старых.

Baginda
08-12-2007, 15:31
Да, надо запрещать загрузку с внешнего девайса перед апгрейдом. После апгрейда перезаписать новые файлы поверх старых.

Олег, а можно разжевать для слабовидящих и думающих по пунктам. Плиз
:)

Dmitry
08-12-2007, 18:29
Олег, а можно разжевать для слабовидящих и думающих по пунктам. Плиз
:)

1) Отключить винт
2) Перегрузить роутер
3) Обновить на нем прошивку
4) Перегрузить роутер
5) Подключить винт
6) Далее в телнете:
# монтируем
mount -t ext3 /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
# копируем из встроенного флеша
tar cvO -C / .version bin/ etc/ lib/ sbin/ usr/ www/ var/ | tar x -C /mnt
# размонтируем
umount /mnt
7) Перегрузить роутер

Oleg
08-12-2007, 18:31
Винт можно не отключать. :) Запрет загрузки:

nvram unset boot_dev
nvram commit

SinSel
26-01-2008, 19:21
Выполнил команду :

nvram set boot_dev="/dev/scsi/host0/bus0/target0/lun0/part1" nvram commit


Как вернуть загрузчки по-умолчанию?

Спасибо

al37919
26-01-2008, 20:06
в смысле больше никуда вообще не грузится?
Сзади роутера есть кнопка reset, а в faq есть инструкция как ее грамотно нажимать.

SinSel
26-01-2008, 21:05
Грузится все нормально, проблема снята.

Vofik
16-02-2008, 19:21
http://wl500g.info/showpost.php?p=18094&postcount=11 Если да, то насколько примерно?

lexass
16-02-2008, 19:36
попробуй и проверь;)

Vofik
17-02-2008, 08:22
ну по словам Олега видно, что flashfs разархивируется в опиративку и следовательно её сьедает. т.е. поидее при загрузке с внешнего носитя её должно сьедаться меньше, вот я и спрашиваю на сколько? смыл будет в использовании внешней загрузки или так полмега выцарапаю и всё?

gde700
17-02-2008, 09:21
ну по словам Олега видно, что flashfs разархивируется в опиративку и следовательно её сьедает. т.е. поидее при загрузке с внешнего носитя её должно сьедаться меньше, вот я и спрашиваю на сколько? смыл будет в использовании внешней загрузки или так полмега выцарапаю и всё?
Не будет ни больше, ни меньше. Разворачивается то всё в ту-же оперативку....

AntiMelk
19-04-2008, 15:51
Здравствуйте.

Пытался установить debian на флешку, предварительно проверил возмодность загрузки c помощью дистрибутива puppy linux. Но биос хреноново поддерживат загрузку с флешек, определяет их как usb RMD-FDD, в результате ни один из испробованных загрузчиков нормально не работает. Загружаются только флешки отформатированные как superfloppy.

Провозившись с загрузчиками, удалил все файлы с флешки puppy и залил туда предварительно установленный на другую флешку debian, затем скопировал файлы из папки boot в корневой каталог и переименовал в vmlinuz и initrd.gz.
После этого вроде начало загружаться но когда стало подхотить к файловой системе написало

Unknown partition table

Примечательно что puppy нагло воспринимает флешку как ext3... Как заставить debian понимать superfloppy ?

ABATAPA
19-04-2008, 16:17
Примечательно что puppy нагло воспринимает флешку как ext3... Как заставить debian понимать superfloppy ?

Монтировать не раздел, а устройство целиком, т.е. не, например, /dev/sda1, а /dev/sda.

AntiMelk
19-04-2008, 16:21
Он ищет root filesystem как раз на sda. Сейчас ещё раз посмотрю.

AntiMelk
19-04-2008, 16:35
Так... Флешку он умеет монтировать, но почему-то с неё дальше рамдиска не грузится... От чего так - Х.З. Пойду почитаю по-внимательнее.

Begin:waiting for root filesysten...

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

Done.
Check root = bootarg cat /proc/cdmline
or missing modules, devices: cat /proc/modules ls /dev
ALERT! does not exist. Droppin a shell !

Видимо эта файловая система записана как sda1...

ABATAPA
20-04-2008, 18:56
Так... Флешку он умеет монтировать, но почему-то с неё дальше рамдиска не грузится... От чего так - Х.З. Пойду почитаю по-внимательнее.

Begin:waiting for root filesysten...

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

Done.
Check root = bootarg cat /proc/cdmline


Передайте правильный параметр root=

coolmiha
25-06-2009, 15:00
Есть Dir-320, прошитый Олеговской прошивкой, все нормально. Интересует, возможно ли в целях экономии памяти уменьшить размер раздела tmpfs?


[admin@my root]$ df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 2.9M 2.9M 0 100% /
tmpfs 14.7M 208.0K 14.5M 1% /tmp
/dev/scsi/host0/bus0/target0/lun0/part2
6.9G 3.6G 3.0G 55% /opt


[admin@my root]$ free
total used free shared buffers cached
Mem: 30176 27884 2292 0 5036 12908
-/+ buffers/cache: 9940 20236
Swap: 509412 4780 504632

DemonGloom
25-06-2009, 15:56
Насколько я знаю, память для tmpfs выделяется динамически... Хотя могу и ошибаться...

Slaka
06-06-2010, 12:44
Здравствуйте, есть роутер Dlink Dir-320, хочу поставить прошивку из ветки RT-N, места на встроенной флешке естественно не хватит, значит надо грузиться с внешней, фак читал, но там не описано как из прошивки выдернуть файловую систему и распаковать...
думаю тема сейчас для многих актуальна =)

Slaka
08-06-2010, 03:37
up, я не имею ввиду полностью грузить прошивку с ЮСБ, ядро во встроенном флеше, файловая система на внешней флешке, это уже проделывалось в теме http://wl500g.info/showthread.php?t=17915
но не описано как выдрать rootFS

morpheus
04-11-2010, 17:14
Собственно пытаюсь заставить RT-N16 грузиться с внешней флэшки.
Прошивка от Олега
Пользуюсь вот этой инструкцией http://wl500g.info/showpost.php?p=18094&postcount=11

Но ничего не получается. Маршрутизатор упорно не хочет грузиться с USB устройства.
Может быть инструкция по ссылке выше только для ядер 2.4? у меня 2.6

Соответственно флэшка определяется не как /dev/scsi/host0/bus0/target0/lun0/part1 а как /dev/discs/disca/part1 и создается ссылка /dev/sda1
Поправку на это я сделал.

Причем совершенно не понятно как диагностировать проблему?
Когда после загрузки в консоле выполняешь набор команд

mount /dev/sda1 /mnt
pivot_root /mnt /mnt/test
mount -o move /test/proc /proc
mount -o move /test/dev /dev
mount -o move /test/tmp /tmp
mount -o move /test/sys /sys

То фэшка начинает пользоваться как корневая файловая система.
Я уже пересобрал прошивку засунув написанные команды в скрипт /linuxrc
Все равно маршрутизатор грузится не с флэшки!
Что делать? Куда смотреть?

lly
05-11-2010, 08:45
Может быть инструкция по ссылке выше только для ядер 2.4? у меня 2.6
Да, именно так. В 2.6 многое иначе.

Что делать? Куда смотреть?
Подучить linux, поправить linuxrc (см. issue 133 (http://code.google.com/p/wl500g/issues/detail?id=133)). Читать про udev.

morpheus
05-11-2010, 11:39
Мда....
Ну в общем для себя я проблему решил.
Если хочется все сделать без пересборки прошивки, то надо сделать все по инструкции http://wl500g.info/showpost.php?p=18094&postcount=11

Дополнительно надо заменить скрипт /tmp/local/sbin/pre-boot вот на такой


#!/bin/sh

boot_dev=$(nvram get boot_dev)

if [ -n "$boot_dev" ]; then

insmod usbcore && insmod ehci-hcd

sleep 2s

insmod scsi_mod && insmod sd_mod && insmod usb-storage

sleep 2s


mount $boot_dev /mnt

pivot_root /mnt /mnt/mnt
mount -o move /mnt/proc /proc
mount -o move /mnt/dev /dev
mount -o move /mnt/tmp /tmp
mount -o move /mnt/sys /sys
umount /mnt

fi



Если скрипта или каталогов нет, их надо создать
при этом не забыть сохранить изменения ( flashfs save; flashfs commit)

Конечно не очень красиво получилось.
Правильнее было поправить /linuxrc
Будет время - займусь.

lly
05-11-2010, 12:22
Конечно не очень красиво получилось.
Правильнее было поправить /linuxrc
Будет время - займусь.
У нас просто тоже времени не хватает :(

Надо просто функцию sysinit(), обновленную для 2.6, из rc.c переложить аккуратно на shell-script и убрать модули ide.

Artur Komarov
10-02-2011, 16:41
Понадобилось перенести /tmp на физический диск из ram.
использую "Root file system on the external USB drive" по рецепту из http://oleg.wl500g.info/

пробовал писать в pre-boot: umount /mnt/tmp но никак не влияет. umount /mnt/dev, umount /mnt/proc тоже никак не проявляются

ser9ey
11-05-2011, 14:28
В FAQе есть статейка как заставить железку бутиться с USB диска, но, судя по-всему, это актуально для версии d на 4м ядре.
В rtn-овской версии не работает,
Попробовал настроить через post скрипты, так flashfs не сохраняет
Подскажите, что делаю не так и где происходит автомонтирование USB диска (грешу на hotplug)?

FilimoniC
11-05-2011, 14:34
В FAQе есть статейка как заставить железку бутиться с USB диска, но, судя по-всему, это актуально для версии d на 4м ядре.
В rtn-овской версии не работает,
Попробовал настроить через post скрипты, так flashfs не сохраняет
Подскажите, что делаю не так и где происходит автомонтирование USB диска (грешу на hotplug)?

Насколько мне известно, есть вообще 2 варианта бута с USB.
Первое - Бут ядра из flashfs и монтирование файловой системы с USB-диска. Второе - нормальный бут с последующим "Сказать что корень теперь на USB".

Вообще хотелось бы тему развернуть, а то уже подумываю менять WL500W на обычный компьютер.

FilimoniC
12-05-2011, 07:23
Всё, что есть - тут (http://www.wl500g.info/showthread.php?t=25330).

Все ж таки решил менять WL500W на обычный комп, по совместительству HTPC и NAS. Осталось кулеры тихие найти...

sergldom
30-07-2011, 17:08
Здравствуйте.
Имеется роутер dir-320
на него ставится только прошивка с ядром 2.4, так как флешка 4мб, а прошивка с ядром 2.6 - 5.5мб.

В FAQ прочитал, что можно настроить загрузку роутера с раздела внешнего винта.

И у меня к Вам вопрос:

Можно ли с прошивкой роутера с ядром 2.4 сделать загрузку с внешнего винта с ядром 2.6

Теоретически как я думаю если при загрузке роутер сразу грузится с винта не используя встроенную флешку, то должно работать, но если сразу роутер подгружает с флешки модули ядра, с помощью которых затем выполняется загрузка с внешнего винта, то работать не будет - модули разных ядер вместе работать не будут.

может у кого-то есть прошивка Олега с ядром 2.6 на dir-320?

Или может подскажете как быть?

пробовал использовать последнюю прошивку openwrt - но работа по вайфаю - на скачку 0.3-3 мб, на отдачу - 16мб, на Олеговской прошивке - на скачку - 21мб, на отдачу 23мб.
По скорости работы прошивка Олега - просто супер.

Либо еще один вариант - ставить максимально обрезанную прошивку с ядром 2.6 с поддержкой usb и сразу настраивать загрузку с винта(флешки) и потом уже доставлять на винт(флешку) все необходимые программы и скрипты.
Только нет такой максимально обрезанной прошивки с поддержкой usb.

Vl@dK
01-08-2011, 17:00
А на первую страницу заглянуть, как по Вашему UVC камеры работают, через сериал?

AndreyUA
01-08-2011, 17:35
А на первую страницу заглянуть, как по Вашему UVC камеры работают, через сериал?Можно использовать usb хаб, вам это не приходило в голову?

2 sergldom: Все это возможно, только это вам придется делать самому. Инфа об этом на форуме есть.

PS Загрузку с внешнего носителя не починили.

Vl@dK
02-08-2011, 10:28
Не очень понял при чем здесь ЮСБ хаб, у меня стоит прошивка из первого поста и весь софт на внешнем носителе.
УМВР
ЧЯДНТ?

Iguana
02-08-2011, 11:19
Не очень понял при чем здесь ЮСБ хаб, у меня стоит прошивка из первого поста и весь софт на внешнем носителе.
УМВР
ЧЯДНТ?
Путаете згрузку проши и внешнего софта с внешнего носителя :rolleyes:

ConstAntz
09-08-2011, 18:00
Если бы нашелся герой и поправил загрузку с внешнего носителя, то это был бы какой-никакой выход.

Загрузку с внешнего носителя не починили.

Можно немного подробностей? Что нужно подправить?

AndreyUA
09-08-2011, 19:13
Можно немного подробностей? Что нужно подправить?
Править нужно здесь
http://code.google.com/p/wl500g/source/browse/branches/rt-n/others/linuxrc.sh

а именно где-то здесь
mount -t devfs none dev

В 2.6 используется udev, поэтому и не работает
Почитайте еще здесь http://wl500g.info/showthread.php?t=24125

theMIROn
09-08-2011, 20:50
Править нужно здесь
http://code.google.com/p/wl500g/source/browse/branches/rt-n/others/linuxrc.sh

а именно где-то здесь
mount -t devfs none dev


а именно - по образу и подобию
http://code.google.com/p/wl500g/source/browse/branches/rt-n/rc/rc.c#696

ConstAntz
10-08-2011, 19:05
Править нужно здесь
http://code.google.com/p/wl500g/source/browse/branches/rt-n/others/linuxrc.sh

а именно где-то здесь
mount -t devfs none dev

В 2.6 используется udev, поэтому и не работает

а именно - по образу и подобию
http://code.google.com/p/wl500g/source/browse/branches/rt-n/rc/rc.c#696

696 #ifdef LINUX26
697 mount("sysfs", "/sys", "sysfs", MS_MGC_VAL, NULL);
698 mount("devfs", "/dev", "tmpfs", MS_MGC_VAL | MS_NOATIME, NULL);

Зачем нужна условная компиляция в /branches/rt-n/rc/rc.c#696 (http://code.google.com/p/wl500g/source/browse/branches/rt-n/rc/rc.c#696). Защита от "дурака"? И где здесь udev?

UPD: согласно документации (http://en.tldp.org/HOWTO/Linux-Init-HOWTO-5.html) на ядре 2.4.х при загрузке системы используется скрипт /linuxrc, а вот на 2.6.х - этот скрипт используется только если он в initrd. Отсюда - как его не исправляй, толку - ноль.

ConstAntz
19-08-2011, 19:06
Как залить rtn прошу на внешний носитель?

http://wl500g.info/showpost.php?p=215866&postcount=31

sergldom
19-08-2011, 21:41
Здравствуйте. Роутер dir-320 Установил прошивку WL500gpv2-1.9.2.7-rtn-r3015M.trx
подключил внешний юсб винт, он автоматом подмонтировался.
Почитал, что можно настроить загрузку с внешнего винта. Проверил:

df

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2688 2688 0 100% /
devfs 14520 0 14520 0% /dev
tmpfs 14520 144 14376 1% /tmp
/dev/discs/disca/part3
114161224 132368 108229796 0% /tmp/mnt/disca_3
/dev/discs/disca/part2
988244 26888 911156 3% /tmp/mnt/disca_2

fdisk -l

Disk /dev/mtdblock0: 0 MB, 262144 bytes
255 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/mtdblock0 doesn't contain a valid partition table

Disk /dev/sda: 120.0 GB, 120060444672 bytes
255 heads, 63 sectors/track, 14596 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 32 257008+ 82 Linux swap
/dev/sda2 33 157 1004062+ 83 Linux
/dev/sda3 158 14596 115981267+ 83 Linux
[root@(none) root]$

sda1 - swap
sda2 - /
sda3 - /home

очистил /
rm -rf /dev/discs/disca/part2/*
Сделал: так как у меня все уже подмонтировано и раздел чистый с файловой системой ext3,
то начинаю с копирования из встроенного флеша

tar cvO -C / .version bin/ etc/ lib/ sbin/ usr/ www/ var/ | tar x -C /tmp/mnt/disca_2
# создаём нужные директории

mkdir -p /tmp/mnt/disca_2/tmp && mkdir -p /tmp/mnt/disca_2/dev && mkdir -p /tmp/mnt/disca_2/proc && mkdir -p /tmp/mnt/disca_2/mnt
Устанавливаем загрузочное устройство

nvram set boot_dev="/dev/discs/disca/part2"
nvram commit

reboot
после перезагрузки роутер загрузился как обычно:

df

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2688 2688 0 100% /
devfs 14520 0 14520 0% /dev
tmpfs 14520 148 14372 1% /tmp
/dev/discs/disca/part3
114161224 132368 108229796 0% /tmp/mnt/disca_3
/dev/discs/disca/part2
988244 26888 911156 3% /tmp/mnt/disca_2
[root@(none) root]$

mount

rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devfs on /dev type tmpfs (rw,noatime)
devpts on /dev/pts type devpts (rw)
tmpfs on /tmp type tmpfs (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disca/part3 on /tmp/mnt/disca_3 type ext3 (rw,noatime,data=ordered)
/dev/discs/disca/part2 on /tmp/mnt/disca_2 type ext3 (rw,noatime,data=ordered)
[root@(none) root]$
Подскажите пожалуйста как можно загрузится с внешнего раздела винчестера подключенного по USB?
Это я чего-то не правильно сделал или что-то еще нужно?

ConstAntz
22-09-2011, 14:45
Зачем нужна условная компиляция в /branches/rt-n/rc/rc.c#696 (http://code.google.com/p/wl500g/source/browse/branches/rt-n/rc/rc.c#696). Защита от "дурака"?

Так бы сразу и сказали, что svn/trunk- это базовая часть сразу для двух веток svn/branches/d/ и svn/branches/rt-n/. А то когда читаешь код, находящийся в gateway/ - начинают возникать глупошные вопросы :D

ConstAntz
26-09-2011, 03:25
Не для "Чайников"!!!
Мак адрес роутера будет утерян - придется потом восстанавливать.
Желающие попробовать есть?

Собирал сам и пока сижу на ней

Предварительные шаги:

Ввиду того, что в mini.trx вырезано максимум, следует заранее подготовить файловую систему на флешке, распаковав fs.tar.gz в корень.
Первого раздела в ext3 размером 64МБ должно хватить даже для желающих распаковать modules.tar.gz туда же.

df -h /
Filesystem Size Used Available Use% Mounted on
/dev/root 101.7M 21.0M 75.5M 22% /


fdisk -l
Disk /dev/sda: 8032 MB, 8032092160 bytes
248 heads, 62 sectors/track, 1020 cylinders
Units = cylinders of 15376 * 512 = 7872512 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 14 107601 83 Linux


Ну а дальше - проще некуда. По tftp залить mini.trx

Продолжают чтение те, кому апгрейд удался:
- на веб интерфейсе лучше пока ничего не трогать, а зайти через telnet
- подлючаем флешку и ищем свой раздел (tail /tmp/syslog.log, mount и fdisk -l помогут) у меня /dev/sda1
- изменяем параметры загрузки (вариант №1 - безопасный - в случае сбоя, есть вероятность возврата к mini)
nvram set kernel_args="root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,115200"
nvram set boot_dev="/dev/sda1"
nvram commit
reboot
- изменяем параметры загрузки (вариант №2 - экстримальный - возврат к mini, в случае сбоя, невозможен)
nvram set kernel_args="ro root=/dev/sda1 rootdelay=5 rootfstype=ext3 noinitrd init=/sbin/init console=ttyS0,115200"
nvram unset boot_dev
nvram commit
reboot


MD5
1084fbb173f852e806c9f5f13d4d3aaa rtn-r3297-fs.tar.gz
29a1cf965439b1d80f3d80b7b9ce6295 rtn-r3297-modules-R1.tar.gz
6509ff7559b48ee988d0d1ce80fdc31a DIR320-1.9.2.7-rtn-r3297M-mini.trx

модификацировано в ядре:


device drivers/ata-atapi-mfm-rll support m->n
device drivers/scsi device support/scsi device support m->y
device drivers/scsi device support/scsi disk support m->y
device drivers/scsi device support/scsi cdrom support n->m
device drivers/scsi device support/scsi generic support m->y
device drivers/scsi device support/verbose scsi n->y
device drivers/usb support/support for host-side usb m->y
device drivers/usb support/usb announce m->y
device drivers/usb support/ehci-hcd support m->y
device drivers/usb support/usb mass storage support m->y
filesystem/miscellaneous filesystem/comressed rom file system (cramfs) n->y
filesystem/native language support:
cp850 y->m
cp852 y->m
cp855 y->m
cp860 y->m
cp865 y->m
cp866 y->m
cp869 y->m
cp1250 y->m
cp8859-5 n->m


про r3815 (http://wl500g.info/showpost.php?p=245170)
последняя версия r4051 (http://wl500g.info/showthread.php?24125-%C7%E0%E3%F0%F3%E7%EA%E0-%EF%F0%EE%F8%E8%E2%EA%E8-%F1-USB&p=248450#post248450)

mowgli
26-09-2011, 23:25
Ура! Ещё не пробовал, но надежда что dir320 ещё поживет появилась :)
А как ты смастерил mini.trx? Я к тому,как делать из оригинальной rtn прошивки нарезку на 2 куска самому?

ConstAntz
27-09-2011, 12:31
А как ты смастерил mini.trx? Я к тому,как делать из оригинальной rtn прошивки нарезку на 2 куска самому?

В теории, нужно разобрать trx на cramfs и vmlinuz. Затем покрамсать cramfs и собрать обратно в trx.
На практике, мне было гораздо интересней собрать прошивку из исходников.

mowgli
28-09-2011, 00:04
На практике, мне было гораздо интересней собрать прошивку из исходников.
Видимо, это единственная возможность допилить прошивку "под себя" :)

Всё сделал по твоему мануалу, ConstAntz, по 1 варианту. Почему-то корень не монтируется к флешке и ошибок не видно. У меня тоже флешка внутри модема и тоже встаёт как /dev/sda1. Хотя автомаунт видит его по длинному пути /dev/discs/disca/part1.

[mike@WL-5cd998e791d8 /tmp]$ mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devfs on /dev type tmpfs (rw,noatime)
devpts on /dev/pts type devpts (rw)
tmpfs on /tmp type tmpfs (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disca/part1 on /tmp/mnt/disca_1 type ext3 (rw,noatime,data=ordered)
[mike@WL-5cd998e791d8 /tmp]$
[mike@WL-5cd998e791d8 /tmp]$
[mike@WL-5cd998e791d8 /tmp]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2560 2560 0 100% /
devfs 14344 4 14340 0% /dev
tmpfs 14344 132 14212 1% /tmp
/dev/discs/disca/part1
961460 67716 844904 7% /tmp/mnt/disca_1
[mike@WL-5cd998e791d8 /tmp]$
[mike@WL-5cd998e791d8 /tmp]$
[mike@WL-5cd998e791d8 /tmp]$ nvram show|grep ker
size: 13665 bytes (19103 left)
kernel_args=root=/dev/mtdblock2 noinitrd init=/linux.rc console=ttyS0,115200
[mike@WL-5cd998e791d8 /tmp]$ nvram show|grep boo
size: 13665 bytes (19103 left)
boot_wait=on
boot_local=1.9.2.7-rtn
boot_dev=/dev/sda1
[mike@WL-5cd998e791d8 /tmp]$ mount /dev/sda1 /mnt
[mike@WL-5cd998e791d8 /tmp]$
[mike@WL-5cd998e791d8 /tmp]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 2560 2560 0 100% /
devfs 14344 4 14340 0% /dev
tmpfs 14344 132 14212 1% /tmp
/dev/discs/disca/part1
961460 67716 844904 7% /tmp/mnt/disca_1
/dev/sda1 961460 67716 844904 7% /mnt
[mike@WL-5cd998e791d8 /tmp]$ mount
rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devfs on /dev type tmpfs (rw,noatime)
devpts on /dev/pts type devpts (rw)
tmpfs on /tmp type tmpfs (rw,noatime)
usbfs on /proc/bus/usb type usbfs (rw)
/dev/discs/disca/part1 on /tmp/mnt/disca_1 type ext3 (rw,noatime,data=ordered)
/dev/sda1 on /mnt type ext3 (rw,data=ordered)
[mike@WL-5cd998e791d8 /tmp]$
[mike@WL-5cd998e791d8 /tmp]$ cat syslog.log
Jan 1 04:00:02 syslogd started: BusyBox v1.18.5
Jan 1 04:00:02 kernel: klogd started: BusyBox v1.18.5 (2011-09-25 23:27:20 MSD)
Jan 1 04:00:02 kernel: Linux version 2.6.22.19 (root@localhost) (gcc version 4.4.6 (GCC) ) #2 Sun Sep 25 23:52:04 MSD 2011
Jan 1 04:00:02 kernel: CPU revision is: 00029029
Jan 1 04:00:02 kernel: Setting the PFC to its default value
Jan 1 04:00:02 kernel: Determined physical RAM map:
Jan 1 04:00:02 kernel: memory: 02000000 @ 00000000 (usable)
Jan 1 04:00:02 kernel: vlan0: dev_set_promiscuity(master, 1)
Jan 1 04:00:02 kernel: device eth0 entered promiscuous mode
Jan 1 04:00:02 kernel: device vlan0 entered promiscuous mode
Jan 1 04:00:02 kernel: device eth1 entered promiscuous mode
Jan 1 04:00:02 kernel: br0: port 2(eth1) entering forwarding state
Jan 1 04:00:02 kernel: br0: port 1(vlan0) entering forwarding state
Jan 1 04:00:03 dropbear[267]: Running in background
Jan 1 04:00:03 dropbear[271]: Child connection from 192.168.1.224:51833
Jan 1 04:00:03 dnsmasq[274]: started, version 2.58 cachesize 512
Jan 1 04:00:03 dnsmasq[274]: compile time options: IPv6 GNU-getopt no-RTC no-DBus no-i18n DHCP no-scripts no-TFTP no-conntrack no-IDN
Jan 1 04:00:03 dnsmasq-dhcp[274]: DHCP, IP range 192.168.1.101 -- 192.168.1.254, lease time 1d
Jan 1 04:00:03 dnsmasq[274]: read /etc/hosts - 2 addresses
Jan 1 04:00:03 miniupnpd[275]: version 1.6 started
Jan 1 04:00:03 miniupnpd[275]: HTTP listening on port 60164
Jan 1 04:00:03 miniupnpd[275]: Listening for NAT-PMP traffic on port 5351
Jan 1 04:00:04 kernel: ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Jan 1 04:00:04 kernel: ohci_hcd 0000:00:03.0: OHCI Host Controller
Jan 1 04:00:04 kernel: ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 2
Jan 1 04:00:04 kernel: ohci_hcd 0000:00:03.0: irq 6, io mem 0x18003000
Jan 1 04:00:04 kernel: usb usb2: configuration #1 chosen from 1 choice
Jan 1 04:00:04 kernel: hub 2-0:1.0: USB hub found
Jan 1 04:00:04 kernel: hub 2-0:1.0: 2 ports detected
Jan 1 04:00:07 WAN port: cable disconnected
Jan 1 04:00:13 dropbear[271]: Bad password attempt for 'mike' from 192.168.1.224:51833
Jan 1 04:00:16 kernel: EXT3-fs: starting recovery.
Jan 1 04:00:16 kernel: kjournald starting. Commit interval 5 seconds
Jan 1 04:00:16 kernel: EXT3 FS on sda1, internal journal
Jan 1 04:00:16 kernel: EXT3-fs: recovery complete.
Jan 1 04:00:16 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 1 04:00:16 USB storage: ext3 fs at /dev/discs/disca/part1 mounted to /tmp/mnt/disca_1
Jan 1 04:00:20 dropbear[271]: Password auth succeeded for 'mike' from 192.168.1.224:51833
Jan 1 04:00:49 dnsmasq-dhcp[274]: DHCPDISCOVER(br0) 64:a7:69:71:a9:47
Jan 1 04:00:49 dnsmasq-dhcp[274]: DHCPOFFER(br0) 192.168.1.106 64:a7:69:71:a9:47
Jan 1 04:00:49 dnsmasq-dhcp[274]: DHCPREQUEST(br0) 192.168.1.106 64:a7:69:71:a9:47
Jan 1 04:00:49 dnsmasq-dhcp[274]: DHCPACK(br0) 192.168.1.106 64:a7:69:71:a9:47 Android_355301043599466
Jan 1 04:01:01 miniupnpd[275]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
Jan 1 04:01:02 miniupnpd[275]: ioctl(s, SIOCGIFADDR, ...): Cannot assign requested address
Правда я ещё маки восстанавливал. В чём может быть дело?

ConstAntz
28-09-2011, 04:44
Видимо, это единственная возможность допилить прошивку "под себя" :)

Всё сделал по твоему мануалу, ConstAntz, по 1 варианту. Почему-то корень не монтируется к флешке и ошибок не видно.Правда я ещё маки восстанавливал. В чём может быть дело?

поправил инструкцию для варианта №1
вместо linux.rc нужно прописать linuxrc

AndreyUA
28-09-2011, 08:30
ConstAntz, вы поправили linuxrc? Отдайте патч разработчикам, пусть тикет закроют.

ConstAntz
28-09-2011, 10:58
ConstAntz, вы поправили linuxrc? Отдайте патч разработчикам, пусть тикет закроют.
Нет, я его не правил. Его уже закрыли. Мало того, с 3300, linuxrc был еще немножко поправлен.

mowgli
28-09-2011, 12:37
ConstAntz, прошивка встала, корень примонтировался, спасибо.
Видимо, ты что-то убирал из оригинала?
У меня теперь модем автоматически не коннектится, приходится писать
/usr/ppp/dial wan0_

тогда всё работает как и на 2.4 ядре.
Хотя при загрузке появилась строчка:
Jan 1 04:00:04 WAN port: cable disconnected
Галочки Set as WAN Connection Type by default и WAN Connection Type: USB modem стоят.

И ещё вопрос:
очень мало остаётся оперативки, всего 9 мБ.
Почему так много отведено для tmp и dev?

devfs 14344 4 14340 0% /dev
tmpfs 14344 168 14176 1% /tmp

Задаю вопрос в этой теме потому что прошивка уж очень спецефичная.

ConstAntz
28-09-2011, 13:10
Видимо, ты что-то убирал из оригинала?
Вырезание касалось только mini.trx.


У меня теперь модем автоматически не коннектится, приходится писать
/usr/ppp/dial wan0_

Для этой прошивки у меня хаб с отдельной флешкой и вариант №2.
Работоспособность с флешкой в модеме не проверялась.


тогда всё работает как и на 2.4 ядре.
Хотя при загрузке появилась строчка:
Jan 1 04:00:04 WAN port: cable disconnected
Галочки Set as WAN Connection Type by default и WAN Connection Type: USB modem стоят.

И ещё вопрос:
очень мало остаётся оперативки, всего 9 мБ.
Почему так много отведено для tmp и dev?

devfs 14344 4 14340 0% /dev
tmpfs 14344 168 14176 1% /tmp

Задаю вопрос в этой теме потому что прошивка уж очень спецефичная.

Я только учусь ;) и на многие вопросы ответить не смогу.
У меня

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 104185 21479 77326 22% /
devfs 14344 4 14340 0% /dev
tmpfs 14344 212 14132 1% /tmp

rss
28-09-2011, 13:13
У меня теперь модем автоматически не коннектится, приходится писать
/usr/ppp/dial wan0_
Это некорректно. Нужно эмулировать события hotplug по обнаружению модема, если уж настоящие события перенести не удаётся.

ConstAntz
28-09-2011, 13:30
Это некорректно. Нужно эмулировать события hotplug по обнаружению модема, если уж настоящие события перенести не удаётся.
так?

/sbin/rc hotplug usb

rss
28-09-2011, 13:48
так?

/sbin/rc hotplug usb

Что-то типа

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/14ac/0" && /sbin/hotplug usb
(для модема)

Или INTERFACE="8/" для zerocd, но тогда модем должен обнаружиться сам.

Не исключаю, что есть способ лучше.

mowgli
02-10-2011, 12:00
Что-то типа
Цитата:
ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/14ac/0" && /sbin/hotplug usb
(для модема)
Сам пока не разобрался в событиях udev.
Такая строка не вызывает у меня дозвон модема:

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/1001/0" && /sbin/hotplug usb
Правильно я пишу DEVICE= и PRODUCT= ?
Модем у меня: lsmodem
0:12d1:1001:W:0:2:1:HUAWEI Technology:HUAWEI Mobile.
Файл /proc/bus/usb/001/002 есть, но рядом есть и другие файлы.

И ещё вопрос, наверное к ConstAntz'у: почему-то корень не всегда монтируется к флешке, примерно в 10% ребутов не монтируется, хотя устройство /dev/sda1 есть всегда и руками можно перемонтировать его как надо командами mount и pivot_root. У тебя не так?

ConstAntz
02-10-2011, 13:25
И ещё вопрос, наверное к ConstAntz'у: почему-то корень не всегда монтируется к флешке, примерно в 10% ребутов не монтируется, хотя устройство /dev/sda1 есть всегда и руками можно перемонтировать его как надо командами mount и pivot_root. У тебя не так?

Я бы проверил целостность раздела (ef2sck, но в mini его нет, а лечить с примонтированным - чревато), если не помогло, добавил бы задержку rootdelay=5 в kernel_args, если и это не помогло, то
Для этой прошивки у меня хаб с отдельной флешкой и вариант №2.
Работоспособность с флешкой в модеме не проверялась.
Модем - сложное устройство, со своей прошивкой, и живет своей жизнью. Что у него в мозгах на момент перезагрузки роутера - никому не известно.

зы: у меня после ребута, до дозвона дело тоже не доходит, но там уже другая причина - отключен ZeroCD. Спасает перетык модема.


примерно в 10% ребутов - это на 10 ребутов один проходит ненормально? А зачем так часто ребутать?

mowgli
02-10-2011, 18:05
Линукс есть и на компе, попробую проверить, хотя не думаю, что там ошибки, раздел всегда в режиме read only.
А модем, как я понял, даже и не замечает, что роутер перегружают.
Например, если жёстко прибить pppd (kill -9), то модем остаётся на связи даже после команды reboot :)
ZeroCD я тоже отключил командой AT^U2DIAG=256, usb_modeswitch не порадовал стабильностью.



- это на 10 ребутов один проходит ненормально? А зачем так часто ребутать?
Просто статистика накопилась. Хочу сделать так, чтоб жена перетыкала роутер из розетки, если интернет не работает и не пилила меня, что надо тянуть оптический интернет в дом за 12 тыс. :eek:

Получается что-то в прошивке, раз и у тебя не отрабатывается автоматом hotplug usb ?

rss
02-10-2011, 18:30
Сам пока не разобрался в событиях udev.
Такая строка не вызывает у меня дозвон модема:

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/1001/0" && /sbin/hotplug usb
Правильно я пишу DEVICE= и PRODUCT= ?
Модем у меня: lsmodem
0:12d1:1001:W:0:2:1:HUAWEI Technology:HUAWEI Mobile.
Файл /proc/bus/usb/001/002 есть, но рядом есть и другие файлы.

В целом, правильно. Физический порт модема можно узнать либо через cat /proc/bus/usb/devpath, вычислить через cat /proc/bus/usb/devices или посмотреть файлы в /sys/bus/usb/devices/...

Для экспериментов неплохо бы взять прошивку с отладочным выводом в syslog, чтобы понимать, что там вызывается.



Просто статистика накопилась. Хочу сделать так, чтоб жена перетыкала роутер из розетки, если интернет не работает и не пилила меня, что надо тянуть оптический интернет в дом за 12 тыс. :eek:
Мне оптику предложили за 100 тыс..... За 12 имеет смысл протянуть - нервы целее будут.

mowgli
03-10-2011, 00:13
В целом, правильно. Физический порт модема можно узнать либо через cat /proc/bus/usb/devpath, вычислить через cat /proc/bus/usb/devices или посмотреть файлы в /sys/bus/usb/devices/...
К сожалению, не силён в настройке udev, чему конкретно мне надо приравнять DEVICE= и PRODUCT= ?

$ cat /proc/bus/usb/devpath
Device : Location : Info
/dev/ttyUSB0 : 1.0 : Manufacturer="HUAWEI Technology" : Product="HUAWEI Mobile"
/dev/ttyUSB1 : 1.1 : Manufacturer="HUAWEI Technology" : Product="HUAWEI Mobile"
/dev/ttyUSB2 : 1.2 : Manufacturer="HUAWEI Technology" : Product="HUAWEI Mobile"
[mike@WL-5cd998e791d8 root]$
[mike@WL-5cd998e791d8 root]$ cat /proc/bus/usb/devices

T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 2
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0001 Rev= 2.06
S: Manufacturer=Linux 2.6.22.19 ohci_hcd
S: Product=OHCI Host Controller
S: SerialNumber=0000:00:03.0
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms

T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 2
B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1d6b ProdID=0002 Rev= 2.06
S: Manufacturer=Linux 2.6.22.19 ehci_hcd
S: Product=EHCI Host Controller
S: SerialNumber=0000:00:03.1
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=12d1 ProdID=1001 Rev= 0.00
S: Manufacturer=HUAWEI Technology
S: Product=HUAWEI Mobile
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
[mike@WL-5cd998e791d8 root]$
[mike@WL-5cd998e791d8 root]$ cd /sys/bus/usb/devices/
[mike@WL-5cd998e791d8 devices]$ ls
1-0:1.0 1-1 1-1:1.0 1-1:1.1 1-1:1.2 1-1:1.3 2-0:1.0 usb1 usb2
[mike@WL-5cd998e791d8 devices]$ ls -l
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:03.1/usb1/1-0:1.0
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 1-1 -> ../../../devices/pci0000:00/0000:00:03.1/usb1/1-1
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 1-1:1.0 -> ../../../devices/pci0000:00/0000:00:03.1/usb1/1-1/1-1:1.0
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 1-1:1.1 -> ../../../devices/pci0000:00/0000:00:03.1/usb1/1-1/1-1:1.1
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 1-1:1.2 -> ../../../devices/pci0000:00/0000:00:03.1/usb1/1-1/1-1:1.2
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 1-1:1.3 -> ../../../devices/pci0000:00/0000:00:03.1/usb1/1-1/1-1:1.3
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:03.0/usb2/2-0:1.0
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 usb1 -> ../../../devices/pci0000:00/0000:00:03.1/usb1
lrwxrwxrwx 1 mike root 0 Oct 3 03:08 usb2 -> ../../../devices/pci0000:00/0000:00:03.0/usb2


Для экспериментов неплохо бы взять прошивку с отладочным выводом в syslog, чтобы понимать, что там вызывается.
Сам пока не научился прошивки компилить, спасибо ConstAntz'у, что адаптировал rtn прошивку к загрузке с флешки.



Мне оптику предложили за 100 тыс..... За 12 имеет смысл протянуть - нервы целее будут.
Если б всё ограничивалось 12-ю тысячами, далее пойдёт абонентка по 1000 в месяц :(, что в 2 раза дороже беспроводного инета. Да и с роутером даже с нормальным интернетом придётся ковыряться.

rss
03-10-2011, 08:41
ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/1001/0" && /sbin/hotplug usb
Вроде правильно, если я что-нибудь еще не забыл (надо очень внимательно код смотреть).



Сам пока не научился прошивки компилить, спасибо ConstAntz'у, что адаптировал rtn прошивку к загрузке с флешки.
Без отладочной прошивки довольно сложно. Нужно собрать прошивку с раскомментированными строками:
rc/Makefile -
CFLAGS += -g -DDEBUG -DDEBUG_TO_SYSLOG
shared/Makefile -
CFLAGS += -g -DDEBUG_TO_SYSLOG



Если б всё ограничивалось 12-ю тысячами, далее пойдёт абонентка по 1000 в месяц :(, что в 2 раза дороже беспроводного инета. Да и с роутером даже с нормальным интернетом придётся ковыряться.
Для Московской области это было бы нормально. Беспроводной инет весь ограничен. У Мегафона 16 ГБ стоят 1400. Йота за те же деньги ограничений не имеет, но и неработоспособна.

ConstAntz
03-10-2011, 09:31
ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/xxx/xxx" && PRODUCT="12d1/xxxx/0" && /sbin/hotplug usb В целом, правильно. Физический порт модема можно узнать либо через cat /proc/bus/usb/devpath, вычислить через cat /proc/bus/usb/devices или посмотреть файлы в /sys/bus/usb/devices/...

фокус пока не удается...

0:12d1:1001:W:0:2:1:HUAWEI Technology:HUAWEI Mobile.
может надо как-то повлиять на первую цифру?



Сам пока не научился прошивки компилить,
Это просто. Инструкция (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) + вместо п4.2 для варианта №1

модификация ядра не требуется
наложить мини патч и поправить id в gateway/.svnrev
после п4.4 - откатить мини
наложить макси, поправить id в gateway/.svnrev и вернуться на п4.3
после п4.4 - откатить макси и вернуть самое первое id в gateway/.svnrev


спасибо ConstAntz'у, что адаптировал rtn прошивку к загрузке с флешки.
Принимаю благодарности только по варианту №2 ;)
Вариант №1 - стандартная фича, начиная с r3296. Появилась благодаря lly


Хочу сделать так, чтоб жена перетыкала роутер из розетки, если интернет не работает и не пилила меня, что надо тянуть оптический интернет в дом за 12 тыс.:eek:
Надо сделать так, чтобы никому не нужно было этого делать.
Какая модель модема? Попробуйте перевести его в U2DIAG=276 и запускать modeswitch с параметрами, как-то так
usb_modeswitch -W -s 20 -v 0x12d1 -p 0x1446 -V 0x12d1 -P 0xXXXX -M "55534243000000000000000000000011060000000000000000 000000000000"

rss
03-10-2011, 09:42
фокус пока не удается...

0:12d1:1001:W:0:2:1:HUAWEI Technology:HUAWEI Mobile.
может надо как-то повлиять на первую цифру?


Меня больше удивляет следующее:

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=12d1 ProdID=1001 Rev= 0.00
S: Manufacturer=HUAWEI Technology
S: Product=HUAWEI Mobile
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Должен быть option.

ConstAntz
03-10-2011, 21:35
Меня больше удивляет следующее:

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=12d1 ProdID=1001 Rev= 0.00
S: Manufacturer=HUAWEI Technology
S: Product=HUAWEI Mobile
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=usbserial_generic
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 3 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Должен быть option.

Пахнет костылями. Я пытался получить с их помощью такую портянку - получилось только один раз, повторить не смог. Затею забросил, т.к. к option с pid`ом 140c нареканий нет.

mowgli
04-10-2011, 00:10
Вроде правильно, если я что-нибудь еще не забыл (надо очень внимательно код смотреть).
Не удалось. hotplug так и не замечает модем.


Без отладочной прошивки довольно сложно.
Дойдут руки - соберу прошивку.


Для Московской области это было бы нормально. Беспроводной инет весь ограничен.
Просто качаю на работе большое, а так мне мегафоновских 2,5Г хватает.

mowgli
04-10-2011, 00:18
Должен быть option.

Может быть оттого, что я вставляю usb_serial с параметрами?

cat /tmp/local/sbin/post-boot
#!/bin/sh
logger 'post-boot starting...'
#rmmod cdc_acm
rmmod ntfs
umount /mnt/tmp
mount -t tmpfs -o size=64K,remount tmpfs /mnt/dev
mount -t tmpfs -o size=512K,remount tmpfs /dev
mount -t tmpfs -o size=5M,remount tmpfs /tmp
mount -t ext3 -o commit=119,ro,data=ordered,remount /dev/sda1 /
swapon /dev/sda3
insmod usbserial vendor=0x12d1 product=0x1001 maxSize=4096
sleep 1s
insmod option
sleep 1s
/usr/ppp/dial wan0_ &


Действительно странно, в ядре 2.4 этот же модем подхватывался option'ом.

mowgli
04-10-2011, 00:35
Это просто. Инструкция (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware) + вместо п4.2 для варианта №1

модификация ядра не требуется
наложить мини патч и поправить id в gateway/.svnrev
после п4.4 - откатить мини
наложить макси, поправить id в gateway/.svnrev и вернуться на п4.3
после п4.4 - откатить макси и вернуть самое первое id в gateway/.svnrev

Спасибо за инструкцию, просто у меня стоит несвежий oracle linux, а где для него пакеты качать, так и не разобрался. Переставлять на какой-нить SUSE, RedHat или лучше бесплатный какой-нить?
Просто по работе нужна какая-то серверная операционка, а ubuntu/altlinux там не любят :(


Надо сделать так, чтобы никому не нужно было этого делать.
Какая модель модема? Попробуйте перевести его в U2DIAG=276 и
Huawei E173. Я перевёл в 256, теперь и как модем работает и флешку вижу, CDROM'а нет - всё что доктор прописал :) и usb_modeswitch запускать не нужно.

В принципе, сейчас, работает более-менее стабильно, с тем post-boot, что я выложил выше, одна беда осталась - часто после втыкания розетки (а именно этого и хочу добиться, чтоб работало без вмешательств) роутер остаётся на mini прошивке со старым корнем. Уже kernel_args=root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,115200 rootdelay=10 выставил и всё бестолку

rss
04-10-2011, 08:28
Может быть оттого, что я вставляю usb_serial с параметрами?

cat /tmp/local/sbin/post-boot
#!/bin/sh
logger 'post-boot starting...'
#rmmod cdc_acm
rmmod ntfs
umount /mnt/tmp
mount -t tmpfs -o size=64K,remount tmpfs /mnt/dev
mount -t tmpfs -o size=512K,remount tmpfs /dev
mount -t tmpfs -o size=5M,remount tmpfs /tmp
mount -t ext3 -o commit=119,ro,data=ordered,remount /dev/sda1 /
swapon /dev/sda3
insmod usbserial vendor=0x12d1 product=0x1001 maxSize=4096
sleep 1s
insmod option
sleep 1s
/usr/ppp/dial wan0_ &


Действительно странно, в ядре 2.4 этот же модем подхватывался option'ом.

Естественно из-за этого. Зачем вообще городить свой скрипт, если есть стандартные события? В случае этого скрипта

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/xxx/xxx" && PRODUCT="12d1/xxxx/0" && /sbin/hotplug usb точно не сработает.

+ выделенная строка однозначно присоединит модем напрямую к usbserial.



Спасибо за инструкцию, просто у меня стоит несвежий oracle linux, а где для него пакеты качать, так и не разобрался. Переставлять на какой-нить SUSE, RedHat или лучше бесплатный какой-нить?
Просто по работе нужна какая-то серверная операционка, а ubuntu/altlinux там не любят :( У меня OpenSUSE 11.4 x86_64



Huawei E173. Я перевёл в 256, теперь и как модем работает и флешку вижу, CDROM'а нет - всё что доктор прописал :) и usb_modeswitch запускать не нужно.

В принципе, сейчас, работает более-менее стабильно, с тем post-boot, что я выложил выше, одна беда осталась - часто после втыкания розетки (а именно этого и хочу добиться, чтоб работало без вмешательств) роутер остаётся на mini прошивке со старым корнем. Уже kernel_args=root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,115200 rootdelay=10 выставил и всё бестолку Тогда дальше как хотите. У меня нет времени плотно заняться вопросом загрузки с флешки + модем. Если есть желание ковыряться и тестировать - буду говорить, что делать.

mowgli
04-10-2011, 14:55
Естественно из-за этого. Зачем вообще городить свой скрипт, если есть стандартные события? В случае этого скрипта

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/xxx/xxx" && PRODUCT="12d1/xxxx/0" && /sbin/hotplug usb точно не сработает.
Отчитываюсь.
Убрал всё своё хозяйство. Роутер загружается оригинальным, модули usb_serial, option не загружаются автоматом, lsmodem модем видит, hotplug сам событие не отрабатывает.

[mike@WL-5cd998e791d8 root]$ cat /proc/sys/kernel/hotplug
/sbin/hotplug
[mike@WL-5cd998e791d8 root]$ lsmodem
0:12d1:1001:W:0:2:1:HUAWEI Technology:HUAWEI Mobile
далее пишу

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/1001/0" && /sbin/hotplug usb
ничего не происходит, ни модем не соединяется, ни модули никакие не грузятся и в syslog.log ни одной строчки не прибавляется.
Более того, даже подгрузив модули usbserial и option руками и запустив опять hotplug - дозвон не происходит.

Единственно, как получается заставить звонить модем -

/usr/ppp/dial wan0_


Тогда дальше как хотите. У меня нет времени плотно заняться вопросом загрузки с флешки + модем. Если есть желание ковыряться и тестировать - буду говорить, что делать.
Насчёт монтирования /dev/sda1 к корню выяснил закономерность - при первом включении роутера в розетку никогда корень сам не монтируется куда надо (при любом rootdelay), ещё очень редко не монтируется после команды reboot. Данный вопрос, конечно отношения к теме форума не имеет, но он жизненно важен для меня.

rss
04-10-2011, 15:37
Отчитываюсь.
Убрал всё своё хозяйство. Роутер загружается оригинальным, модули usb_serial, option не загружаются автоматом, lsmodem модем видит, hotplug сам событие не отрабатывает.

[mike@WL-5cd998e791d8 root]$ cat /proc/sys/kernel/hotplug
/sbin/hotplug
[mike@WL-5cd998e791d8 root]$ lsmodem
0:12d1:1001:W:0:2:1:HUAWEI Technology:HUAWEI Mobile
далее пишу

ACTION="add" && INTERFACE="255/255/255" && DEVICE="/proc/bus/usb/001/002" && PRODUCT="12d1/1001/0" && /sbin/hotplug usb
ничего не происходит, ни модем не соединяется, ни модули никакие не грузятся и в syslog.log ни одной строчки не прибавляется.
Надо смотреть отладочный вывод. Драйверы usbserial и option погрузятся только в случае обнаружения модема, а сооответствующего события как раз и не имеем.



Более того, даже подгрузив модули usbserial и option руками и запустив опять hotplug - дозвон не происходит.

Единственно, как получается заставить звонить модем -

/usr/ppp/dial wan0_
Если драйверы подгружены, то дальше должно сгенерироваться событие об обнаружении соответствующих usbtty и запуститься дозвон. Но должны быть не пустыми переменные wan0_usb_device и wan0_dial_enabled.
nvram set wan0_usb_device="12d1/1001/0"
nvram set wan0_dial_enabled="1"
+ настроены параметры модема.



Насчёт монтирования /dev/sda1 к корню выяснил закономерность - при первом включении роутера в розетку никогда корень сам не монтируется куда надо (при любом rootdelay), ещё очень редко не монтируется после команды reboot. Данный вопрос, конечно отношения к теме форума не имеет, но он жизненно важен для меня. Кстати, если нужен только модем, то можно без проблем собрать прошивку с вырезанными ipv6, wimax, printer, cam и пр., которая влезет в 4 МБ.

mowgli
04-10-2011, 19:38
nvram set wan0_usb_device="12d1/1001/0"
Ура! :) Вот что значит общаться с разработчиком :) Вот где собака порылась!
Всё дело оказалось в волшебной переменной wan0_usb_device.
У меня её не было. Вообще. Через морду приехало только wan_modem_vid=0x12d1, wan_modem_pid=0x1001.
Как только прописываю nvram set wan0_usb_device="12D1/1001/0" моментально модем уходит на дозвон, даже hotplug запускать не приходится.
Возникло 3 вопроса, в которых сам разобраться не могу:
1) Получается ядро запускало каждую микросекунду какой-то скрипт, который отваливался по ошибке из-за отсутствия переменной wan0_usb_device ?
Или при установке wan0_usb_device возникает событие, запускающее этот скрипт? Какой именно скрипт запускается?
2) Почему у меня не установлена эта переменная? Я что-то неверно наконфигурил в морде?
3) Переменную установить могу, а вот сохранить
nvram commit не получается, при ребуте она исчезает. Как надо делать?




Кстати, если нужен только модем, то можно без проблем собрать прошивку с вырезанными ipv6, wimax, printer, cam и пр., которая влезет в 4 МБ.

Было бы, конечно, замечательно. Только смотрю эти роутеры недолюбливают на этой конференции. Да и как быть с обновлениями?

rss
04-10-2011, 19:58
Ура! :) Вот что значит общаться с разработчиком :) Вот где собака порылась!
Всё дело оказалось в волшебной переменной wan0_usb_device.
У меня её не было. Вообще. Через морду приехало только wan_modem_vid=0x12d1, wan_modem_pid=0x1001.
Как только прописываю nvram set wan0_usb_device="12D1/1001/0" моментально модем уходит на дозвон, даже hotplug запускать не приходится.
Возникло 3 вопроса, в которых сам разобраться не могу:
1) Получается ядро запускало каждую микросекунду какой-то скрипт, который отваливался по ошибке из-за отсутствия переменной wan0_usb_device ?
Или при установке wan0_usb_device возникает событие, запускающее этот скрипт? Какой именно скрипт запускается?

wan0_usb_device выставляется в обработчике hotplug-события обнаружения модема. Если драйверы уже загружены, то дозвон будет инициирован сервисом watchdog. Если еще не загружены, то начнётся сразу же, как только будут созданы ttyusb по соответствующему событию.



2) Почему у меня не установлена эта переменная? Я что-то неверно наконфигурил в морде?
3) Переменную установить могу, а вот сохранить
nvram commit не получается, при ребуте она исчезает. Как надо делать?
Она сбрасывается во избежании нарушения логики работы, если устройство выдернули при выключенном маршрутизаторе. Единственное, что можно сделать - выставить в post-boot. (по-большому счёту это костыль, который надо исправить, обеспечив работу событий hotplug для usb).




Было бы, конечно, замечательно. Только смотрю эти роутеры недолюбливают на этой конференции. Да и как быть с обновлениями?В этом году делал вариант конфигурации сборки, который вмещался в 4 МБ (Makefile + config). Где-то попадались и другие варианты. В целом, ничего сложного нет. Обновления можно брать из svn, накладывать на них конфигурацию сборки и собирать под себя.

ConstAntz
04-10-2011, 21:56
Если драйверы подгружены, то дальше должно сгенерироваться событие об обнаружении соответствующих usbtty и запуститься дозвон. Но должны быть не пустыми переменные wan0_usb_device и wan0_dial_enabled.
nvram set wan0_usb_device="12d1/1001/0"
nvram set wan0_dial_enabled="1"
+ настроены параметры модема.


Ай, Молодца! Хватило только одной команды: nvram set wan0_usb_device="12d1/140c/0", модули сами подгрузились и пошел дозвон.


Насчёт монтирования /dev/sda1 к корню выяснил закономерность - при первом включении роутера в розетку никогда корень сам не монтируется куда надо (при любом rootdelay), ещё очень редко не монтируется после команды reboot. Данный вопрос, конечно отношения к теме форума не имеет, но он жизненно важен для меня.
Пробуй 276 + умс с параметрами. Один раз воткнул БП и забыл как его выключать. 256 был хорош для линейки Е15хх.

rss
05-10-2011, 06:18
Ай, Молодца! Хватило только одной команды: nvram set wan0_usb_device="12d1/140c/0", модули сами подгрузились и пошел дозвон. При условии, что модем настроен. Autodetect работать не будет!

mowgli
05-10-2011, 13:23
Пробуй 276 + умс с параметрами. Один раз воткнул БП и забыл как его выключать. 256 был хорош для линейки Е15хх.

Никак не могу понять,зачем этот CDROM нужен? И я уже пробовал с сидиромом, даже с ним,запуская умс, корень не монтировался сам,т.к. linuxrc запускается раньше,чем умс.
Наверное напишу pre-boot, проверяющий куда примонтирован корень и перемонтирующий его к флешке.
А в post-boot придётся выставлять эту wan0_usb_device, чтоб watchdog отслеживал её,запуская дозвон.
PS начал компиляцию прошивки самостоятельно. Не нашёл standard compilation software, ядро по ссылке не скачивается, libncurses-dev.
Как поправят kernel.org начну,может получится.

vectorm
05-10-2011, 14:11
PS начал компиляцию прошивки самостоятельно. Не нашёл standard compilation software, ядро по ссылке не скачивается, libncurses-dev.
Как поправят kernel.org начну,может получится.
Зеркала kernel.org (http://www.kernel.org/mirrors/) пока вполне работоспособны.

mowgli
05-10-2011, 17:19
Зеркала kernel.org (http://www.kernel.org/mirrors/) пока вполне работоспособны.

Похоже америкосов совсем кризис заел. Не только космические программы закрывают,ничего не работает.

ConstAntz
05-10-2011, 20:58
Никак не могу понять,зачем этот CDROM нужен? И я уже пробовал с сидиромом, даже с ним,запуская умс, корень не монтировался сам,т.к. linuxrc запускается раньше,чем умс.


Правильно. CDROM не нужен. Но в такой конфигурации модем работает стабильнее (или это у меня одного так :confused:) и проблемы с перебоями идут либо от опсоса, либо когда сим-память для смсок заканчиваетя.

mowgli
11-10-2011, 22:08
Но в такой конфигурации модем работает стабильнее (или это у меня одного так :confused:) и проблемы с перебоями идут либо от опсоса, либо когда сим-память для смсок заканчиваетя.
Попробовал так и так, без сидирома работает надёжнее (256).
Проблема кроется в usb_modeswitch, не всегда переводит модем в режим модема. Быть может E173 ещё не обкатан как следует usb_modeswitch'ем. Правда и СМСки мне мегафон присылает нечасто.
На модеме Anydata ADU-520A, usb_modeswitch работал намного лучше.

К своему великому сожалению (и стыду) так ещё и не научился компилить прошивку самостоятельно. В связи с этим вопрос: можно ли использовать прошивку mini для версий больше, чем 3297 ? То бишь обновлять только данные на флешке, которая потом монтируется к корню, беря эти данные из новых прошивок. А прошивку mini оставлять такой, какая она есть сейчас? Как я понял linuxrc перезапускает init с новым корнем.
(то что сам скрипт linuxrc не обновится я уже понял)
Или в новых версиях изменяется и ядро?

ConstAntz
12-10-2011, 18:17
Попробовал так и так, без сидирома работает надёжнее (256).
Проблема кроется в usb_modeswitch, не всегда переводит модем в режим модема. Быть может E173 ещё не обкатан как следует usb_modeswitch'ем. Правда и СМСки мне мегафон присылает нечасто.
На модеме Anydata ADU-520A, usb_modeswitch работал намного лучше.

К своему великому сожалению (и стыду) так ещё и не научился компилить прошивку самостоятельно. В связи с этим вопрос: можно ли использовать прошивку mini для версий больше, чем 3297 ? То бишь обновлять только данные на флешке, которая потом монтируется к корню, беря эти данные из новых прошивок. А прошивку mini оставлять такой, какая она есть сейчас? Как я понял linuxrc перезапускает init с новым корнем.
(то что сам скрипт linuxrc не обновится я уже понял)
Или в новых версиях изменяется и ядро?
Теоретически, можно безболезненно обновлять до прошивок, в которых изменения не касаются ядра. Там, где это произойдет - начнутся конфликты между внешними модулями и ядром. Частично, эту проблему можно обойти - использовать старые модули. Но остается проблема с модулями, вкомпилированными в ядро. Уж лучше научится собирать новую прошивку (две) с новым ядром, модулями и софтом, докупив хаб и флешку. Или поменять платформу.
Скорее свисток работает лучше с умс. Не стоит забывать, что хуавеи имеют фишку типа лок на опсоса, а умс с этой фичей работать не умеет. Грубо говоря, свисток ждет запроса "Брелок, симка у тебя такая-то?", а вместо этого слышит "свисток, переключись в модем". Еще одна особенность: под виндой, в настройках можно выбрать способ подключения: RAS или LAN. И похоже, эта конфигурация сохраняется в брелке. Нужно копаться в логах сниффера, а времени так мало.

ConstAntz
20-10-2011, 08:54
Linux version 2.6.22.19 (root@localhost) (gcc version 4.4.6 (GCC) ) #15 Tue Oct 18 06:32:53 MSD 2011
1.9.2.7-rtn-r3478-storage

Thu Oct 20 11:56:49 MSK 2011
11:56:49 up 22 min, load average: 0.00, 0.00, 0.00


Jan 1 04:00:02 syslogd started: BusyBox v1.19.2
Jan 1 04:00:02 kernel: klogd started: BusyBox v1.19.2 (2011-10-17 20:37:53 MSD)
Jan 1 04:00:02 kernel: Linux version 2.6.22.19 (root@localhost) (gcc version 4.4.6 (GCC) ) #15 Tue Oct 18 06:32:53 MSD 2011
Jan 1 04:00:02 kernel: CPU revision is: 00029029
Jan 1 04:00:02 kernel: Setting the PFC to its default value
Jan 1 04:00:02 kernel: Determined physical RAM map:
Jan 1 04:00:02 kernel: memory: 02000000 @ 00000000 (usable)
Jan 1 04:00:02 kernel: sd 0:0:0:0: [sda] Assuming drive cache: write through
Jan 1 04:00:02 kernel: sda: sda1
Jan 1 04:00:02 kernel: sd 0:0:0:0: [sda] Attached SCSI removable disk
Jan 1 04:00:02 kernel: sd 0:0:0:0: Attached scsi generic sg0 type 0
Jan 1 04:00:02 kernel: kjournald starting. Commit interval 5 seconds
Jan 1 04:00:02 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Jan 1 04:00:02 kernel: emf: module license 'unspecified' taints kernel.
Jan 1 04:00:02 kernel: eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 5.10.56.46

top@mini

Mem: 16648K used, 11992K free, 0K shrd, 1884K buff, 5344K cached
top@maxi

Mem: 20292K used, 8348K free, 0K shrd, 1276K buff, 7988K cached
светодиоды
$ gpio -v
Router detected: D-Link DIR-320
Available leds: pwr
Usage: gpio [-fghlvr] [-b [-p pidile]] [-c count] [-e on_dur] [-d off_dur] [-n cycles] [-s sleep] [led|0~31] [preset|1|0]
Type gpio -h for more information
Если кто захочет сделать
$ gpio 7 0
$ gpio 7 1, лучше этого не делать. Снесло все настройки в дефолт. :)

Аптайм предыдущей (rtn-r3297)
Thu, 20 Oct 2011 07:47:36 +0400 (12 days, 22 hours, 13 minutes, 18 seconds since boot)

upd:
Обновляться можно, переключившись обратно в мини

Изменения:
- включен busybox`овый e2fsprogs

vlas_val
21-10-2011, 10:53
upd:
Обновляться можно, переключившись обратно в мини



Как переключиться обратно в мини, используя вариант 2?

ConstAntz
21-10-2011, 11:13
Как переключиться обратно в мини, используя вариант 2?

Вернуть обратно переменную kernel_args

nvram set kernel_args="root=/dev/mtdblock2 noinitrd init=/sbin/init console=ttyS0,115200"
nvram commit

vlas_val
29-11-2011, 07:26
DIR-320 & RTN-r3297 from USB => r3478 => r3539
Дайте, пожалуйста, ссылку на r3539 или более позднюю

ConstAntz
29-11-2011, 12:29
Дайте, пожалуйста, ссылку на r3539 или более позднюю

если руткиты не страшны, то пользуйтесь ;) rtn-r3539 (http://zalil.ru/32158285) (хранится 10 дней)
- добавлял netconsole и уже не помню что еще )))

В идеале, научитесь собирать самостоятельно.

Vampik
12-12-2011, 05:15
Пробовал сделать сборку прошивки с загрузкой с USB. Единственная разница - не стал вкомпилировать usb-модули в ядро, поэтому второй вариант (с загрузкой напрямую, минуя linuxrc, kernel_args="ro root=/dev/sda1...") очевидно не пробовал.
А вот первый вариант, с загрузкой через linuxrc (kernel_args="root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,115200", boot_dev="/dev/sda1") похоже не работает.
При холодной загрузке (подключение питания к выключенному устройству) загружается mini-версия, при перезагрузке - устройство уходит в циклическую перезагрузку.
Посмотрел логи через консоль:
Холодная загрузка


--skipped--
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh: missing ]
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:03.1: EHCI Host Controller
ehci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:03.1: irq 6, io mem 0x18003800
ehci_hcd 0000:00:03.1: USB 0.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd 0000:00:03.0: OHCI Host Controller
ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:03.0: irq 6, io mem 0x18003000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
insmod: can't insert 'uhci-hcd.ko': No such file or directory
usb 1-1: new high speed USB device using ehci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 0 CCS
mount: mounting /dev/sda1 on /mnt failed: No such file or directory
mount: mounting /dev/sda1 on /mnt failed: No such device
umount: can't umount /mnt: Invalid argument
usbcore: deregistering interface driver usb-storage
sd 0:0:0:0: [sda] 2015232 512-byte hardware sectors (1032 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI removable disk
rmmod: can't unload 'uhci_hcd': unknown symbol in module, or unknown parameter
ohci_hcd 0000:00:03.0: remove, state 1
usb usb2: USB disconnect, address 1
ohci_hcd 0000:00:03.0: USB bus 2 deregistered
ehci_hcd 0000:00:03.1: remove, state 1
usb usb1: USB disconnect, address 1
usb 1-1: USB disconnect, address 2
ehci_hcd 0000:00:03.1: USB bus 1 deregistered
usbcore: deregistering device driver usb
usbcore: deregistering interface driver usbfs
usbcore: deregistering interface driver hub
umount: can't umount /dev: Device or resource busy
emf: module license 'Proprietary' taints kernel.
eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 5.60.127.5
eth1: Broadcom BCM4318 802.11 Wireless Controller 5.60.127.5
--skipped--

Перезагрузка


--skipped--
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
sh: missing ]
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci_hcd 0000:00:03.1: EHCI Host Controller
ehci_hcd 0000:00:03.1: new USB bus registered, assigned bus number 1
ehci_hcd 0000:00:03.1: irq 6, io mem 0x18003800
ehci_hcd 0000:00:03.1: USB 0.0 started, EHCI 1.00
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci_hcd 0000:00:03.0: OHCI Host Controller
ohci_hcd 0000:00:03.0: new USB bus registered, assigned bus number 2
ohci_hcd 0000:00:03.0: irq 6, io mem 0x18003000
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
insmod: can't insert 'uhci-hcd.ko': No such file or directory
usb 1-1: new high speed USB device using ehci_hcd and address 2
usb 1-1: configuration #1 chosen from 1 choice
SCSI subsystem initialized
Initializing USB Mass Storage driver...
scsi0 : SCSI emulation for USB Mass Storage devices
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
scsi 0:0:0:0: Direct-Access Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 0 CCS
sd 0:0:0:0: [sda] 2015232 512-byte hardware sectors (1032 MB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
sda: sda1 sda2 sda3
sd 0:0:0:0: [sda] Attached SCSI removable disk
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
/linuxrcKernel panic - not syncing: Attempted to kill init!
: line 104: can'Rebooting in 3 seconds..t open dev/null: no such file
Please stand by while rebooting the system...

Видно, что при холодной загрузке попытка смонтировать корневую фс с флешки идет после загрузки модулей, но до того как определяются разделы на флешке.
При перезагрузке раздел успешно монтируется, но, похоже, возникает затык с chroot.
Полные логи в аттаче. У кого-нибудь оно работает? :confused:

Vampik
12-12-2011, 21:39
linuxrc в ветке -rtn похоже до сих пор нерабочий.
http://wl500g.info/showpost.php?p=241887&postcount=92

Пару ошибок в нем я исправил (не хватало пробела перед ] и не работало ожидание появления диска):

Index: linuxrc.sh
================================================== =================
--- linuxrc.sh (revision 3660)
+++ linuxrc.sh (working copy)
@@ -61,7 +61,7 @@
if [ ! -b "$boot_dev" ]; then
insmod usbcore
usb21=$(nvram get usb20_disable_x)
- [ -z "$usb21"] && usb21="0"
+ [ -z "$usb21" ] && usb21="0"
[ "$usb21" -ne 1 ] && insmod ehci-hcd
[ "$usb21" -ne 2 ] && (insmod ohci-hcd; insmod uhci-hcd)
sleep 2s
@@ -74,7 +74,7 @@

# wait for disc appear, max 15 sec
i=0
-while [ -z "$(ls /sys/class/scsi_disk/)" -a -z "$(ls /sys/bus/ide/devices/ 2>/dev/null)" ]; do
+while [ ! -b "$boot_dev" ]; do
sleep 1s
i=$((i + 1))
if [ $i -gt 15 ]; then
@@ -82,33 +82,35 @@
fi
done

-# trying to mount new rootfs
-for fstyp in ext3 ext2; do
- mount -t $fstyp -o ro "$boot_dev" /mnt
- if [ $? -eq 0 ]; then
- break
+if [ -b "$boot_dev" ]; then
+ # trying to mount new rootfs
+ for fstyp in ext3 ext2; do
+ mount -t $fstyp -o ro "$boot_dev" /mnt
+ if [ $? -eq 0 ]; then
+ break
+ fi
+ done
+
+ # enable hotplug
+ echo /sbin/hotplug > /proc/sys/kernel/hotplug
+
+ # switch root
+ if [ -d /mnt/mnt ]; then
+ cd /mnt
+ pivot_root . mnt
+ umount /mnt/dev
+ umount /mnt/sys
+ umount /mnt/proc
+ exec chroot . sbin/init <dev/null >dev/null 2>&1
fi
-done
-
-# enable hotplug
-echo /sbin/hotplug > /proc/sys/kernel/hotplug
-
-# switch root
-if [ -d /mnt/mnt ]; then
- cd /mnt
- pivot_root . mnt
- umount /mnt/dev
- umount /mnt/sys
- umount /mnt/proc
- exec chroot . sbin/init <dev/null >dev/null 2>&1
+
+ # if something fails...
+ cd /
+
+ # unmount everything
+ umount /mnt
fi

-# if something fails...
-cd /
-
-# unmount everything
-umount /mnt
-
# remove modules
rmmod usb-storage && rmmod sd_mod && rmmod scsi_mod
rmmod uhci-hcd


Остались две проблемы - обе с /dev.
При загрузке с подключенной флешкой - linuxrc по-прежнему ругается на строчке exec chroot . sbin/init ... :can't open dev/null: no such file и уходит в перезагрузку.
При загрузке с отключенной флешкой - linuxrc ругается на строчке umount /dev - umount: can't umount /dev: Device or resource busy. При этом успешно загружается и работает прошивка из встроенной памяти, но по выводу команды mount /dev оказывается смонтированным дважды. Это как-то неправильно, наверное.

lly
13-12-2011, 06:50
linuxrc в ветке -rtn похоже до сих пор нерабочий.
У меня работало, но усиленно не гонял, за ненадобностью(мне).


Пару ошибок в нем я исправил (не хватало пробела перед ] и не работало ожидание появления диска):
Пробел подправлю, спасибо. Замена на "$boot_dev" это наверное правильно, т.к. все старт всех остальных дисков нас не должен волновать на этом этапе.
Опять же - ожидание у меня работало.


Остались две проблемы - обе с /dev.
При загрузке с подключенной флешкой - linuxrc по-прежнему ругается на строчке exec chroot . sbin/init ... :can't open dev/null: no such file и уходит в перезагрузку.

Надо перепроверять, пока некогда.


При загрузке с отключенной флешкой - linuxrc ругается на строчке umount /dev - umount: can't umount /dev: Device or resource busy. При этом успешно загружается и работает прошивка из встроенной памяти, но по выводу команды mount /dev оказывается смонтированным дважды. Это как-то неправильно, наверное.
Значит это не доделал, если будет время, поправлю.

Vampik
13-12-2011, 07:32
Замена на "$boot_dev" это наверное правильно, т.к. все старт всех остальных дисков нас не должен волновать на этом этапе.
Опять же - ожидание у меня работало.


Во-первых, да - на данном этапе интересует именно boot_dev. Во-вторых, в моем случае при холодной загрузке сначала диск появляется в /sys/class/scsi_disk/ (в этот момент скрипт уже предпринимал безуспешную попытку монтирования), и только через пару секунд появляется boot_dev (/dev/sda1). При перезагрузке /dev/sda1 появлялся сразу.

Vampik
17-12-2011, 10:02
Надо перепроверять, пока некогда.

Похоже, мой косяк - оказывается на флешке нужно было вручную создать некоторые устройства в /dev. При создании squashfs, как я заметил, они добавляются с помощью rootprep.files. А корневую фс для флешки я создавал, просто заTARивая target.



Значит это не доделал, если будет время, поправлю.

А вот с umount /dev в конце linuxrc веселее. Посмотрел с помощью консоли:

mount

rootfs on / type rootfs (rw)
/dev/root on / type squashfs (ro)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devfs on /dev type tmpfs (rw,noatime)

fuser -m /dev

188 189 202 204 205 208 209 211 220 222 223 224 225 227 236 238 239 240 241 244

ps

PID USER VSZ STAT COMMAND
1 0 1380 S {linuxrc} /bin/sh /linuxrc
2 0 0 SW< [kthreadd]
3 0 0 SW< [ksoftirqd/0]
4 0 0 SW< [events/0]
5 0 0 SW< [khelper]
23 0 0 SW< [kblockd/0]
45 0 0 SW [pdflush]
46 0 0 SW [pdflush]
47 0 0 SW< [kswapd0]
48 0 0 SW< [aio/0]
97 0 0 SW< [mtdblockd]
202 0 1560 S /sbin/hotplug class
204 0 1560 S /sbin/hotplug module
205 0 1380 R /sbin/mdev
208 0 1560 S /sbin/hotplug usb
209 0 1384 R /sbin/mdev
210 0 1524 R /sbin/hotplug usb_device
211 0 1560 R /sbin/hotplug usb
212 0 540 R /sbin/hotplug usb
213 0 336 R /sbin/hotplug usb_host
214 0 328 R /sbin/hotplug drivers
215 0 288 R [hotplug]
220 0 1560 S /sbin/hotplug usb
222 0 1560 S /sbin/hotplug usb_host
223 0 1384 R /sbin/mdev
224 0 1560 S /sbin/hotplug drivers
225 0 1380 R /sbin/mdev
226 0 1524 R /sbin/hotplug module
227 0 1560 R /sbin/hotplug drivers
229 0 684 R /sbin/hotplug drivers
230 0 336 R /sbin/hotplug drivers
231 0 328 R /sbin/hotplug class
232 0 288 R [hotplug]
236 0 1560 S /sbin/hotplug bus
238 0 1560 S /sbin/hotplug bus
239 0 1384 R /sbin/mdev
240 0 1560 S /sbin/hotplug module
241 0 1384 R /sbin/mdev
244 0 1560 R /sbin/hotplug module
248 0 1376 R ps

umount /dev

umount: can't umount /dev: Device or resource busy

Похоже, размонтировать /dev мешает огромное количество процессов mdev и hotplug. Полагаю, что при rmmod'ах на предыдущих строчках вызывается hotplug, и он не успевает отработать до umount /dev (использовал linuxrc из r3666, только добавив команды для отладки).

Vampik
22-12-2011, 13:12
Тестовая версия -rtn прошивки для DIR-320:
DIR320-1.9.2.7-rtn-r3696M-mini.trx (http://vampik.ru/wl500g/rtn/3696/DIR320-1.9.2.7-rtn-r3696M-mini.trx)
DIR320-1.9.2.7-rtn-r3696M-fs.tar.bz2 (http://vampik.ru/wl500g/rtn/3696/DIR320-1.9.2.7-rtn-r3696M-fs.tar.bz2)
modules-1.9.2.7-rtn-r3696M-MIPS32r1.tar.bz2 (http://vampik.ru/wl500g/rtn/3696/modules-1.9.2.7-rtn-r3696M-MIPS32r1.tar.bz2)

mini.trx заливается как обычная прошивка, можно через веб-интерфейс, fs.tar.bz2 распаковывается в заранее подготовленную файловую систему на флешке, далее -

nvram set kernel_args="root=/dev/mtdblock2 noinitrd init=/linuxrc console=ttyS0,115200"
nvram set boot_dev="/dev/sda1"
nvram commit
reboot
где /dev/sda1 меняется на раздел, куда была распакована fs.

linuxrc:

Index: others/linuxrc.sh
================================================== =================
--- others/linuxrc.sh (revision 3696)
+++ others/linuxrc.sh (working copy)
@@ -90,27 +90,27 @@
break
fi
done
-fi

-# enable hotplug
-echo /sbin/hotplug > /proc/sys/kernel/hotplug
+ # switch root
+ if [ -d /mnt/mnt ]; then
+ # set hotplug to /sbin/hotplug
+ echo /sbin/hotplug > /proc/sys/kernel/hotplug
+ cd /mnt
+ pivot_root . mnt
+ umount /mnt/dev
+ umount /mnt/sys
+ umount /mnt/proc
+ exec chroot . sbin/init <dev/null >dev/null 2>&1
+ # unsuccessful exec causes kernel panic
+ fi

-# switch root
-if [ -d /mnt/mnt ]; then
- cd /mnt
- pivot_root . mnt
- umount /mnt/dev
- umount /mnt/sys
- umount /mnt/proc
- exec chroot . sbin/init <dev/null >dev/null 2>&1
+ # unmount everything
+ umount /mnt
fi

-# if something fails...
-cd /
+# disable hotplug
+echo > /proc/sys/kernel/hotplug

-# unmount everything
-umount /mnt
-
# remove modules
rmmod usb-storage && rmmod sd_mod && rmmod scsi_mod
rmmod uhci-hcd
@@ -121,6 +121,10 @@

umount /dev
umount /sys
+
+# enable hotplug
+echo /sbin/hotplug > /proc/sys/kernel/hotplug
+
umount /proc

# finally execute init

mowgli
22-12-2011, 21:36
Просто для информации.
ConstAntz, прошивка тобой подкорректированная (3297) работает на удивление стабильно :)
Вот, например, сейчас

uptime
01:32:43 up 10 days,
На прошивках, с ядром 2.4 больше 2-х дней никогда не мог продержаться. Правда сейчас подпаял в модем кабель и сделал 3G антенну Харченко и уменьшил MTU до 576.
Только холодная загрузка никогда не монтирует корень к флешке, зато последующие отлично. Вижу что и с этим уже разобрались. Попробую обновится - отпишусь.

Komandir
23-12-2011, 15:33
...распаковывается в заранее подготовленную файловую систему на флешке...

Можно коротенько в какой формат форматировать флешку (можно и команды для форматирования и распаковки) и какое дерево папок должно в итоге появиться на флешке ?

mowgli
24-12-2011, 09:32
Можно коротенько в какой формат форматировать флешку (можно и команды для форматирования и распаковки) и какое дерево папок должно в итоге появиться на флешке ?
Форматировать в ext3.

fdisk -l #узнать устройство
fdisk </dev/устройство> #разбить на тома
mkfs.ext3 </dev/устройство> #отформатировать


Распаковка

tar xvzf <файл tgz>

Дерево папок стандартное для корня:
drwxr-xr-x 2 mike root 1024 Sep 26 00:55 bin
drwxrwxrwt 6 mike root 1900 Jan 1 1970 dev
lrwxrwxrwx 1 mike root 7 Sep 29 00:44 etc -> tmp/etc
drwxr-xr-x 2 mike root 1024 Sep 26 00:58 home
drwxr-xr-x 4 1000 1000 1024 Sep 25 23:53 lib
-rwxr-xr-x 1 mike root 3072 Sep 26 00:55 linuxrc
drwx------ 2 mike root 12288 Sep 29 00:40 lost+found
drwxr-xr-x 14 mike root 161 Sep 25 23:57 mnt
drwxr-xr-x 3 mike root 1024 Jan 1 1970 opt
dr-xr-xr-x 43 mike root 0 Jan 1 2000 proc
drwxr-xr-x 2 mike root 1024 Jan 1 1970 root
drwxr-xr-x 2 mike root 1024 Sep 26 00:55 sbin
drwxr-xr-x 10 mike root 0 Jan 1 2000 sys
drwxrwxrwt 7 mike root 420 Dec 24 12:07 tmp
drwxr-xr-x 11 mike root 1024 Sep 26 00:58 usr
lrwxrwxrwx 1 mike root 7 Sep 29 00:44 var -> tmp/var
drwxr-xr-x 3 mike root 5120 Sep 26 00:56 www

AlB80
31-12-2011, 17:28
Распаковка

tar xvzf <файл tgz>
Все правильно. Только Vampik tar.bz2 выложил. Поэтому меняем xvzf на xvjf.
И для форматирования диска его еще: umount

Vengant
12-01-2012, 19:58
Доброй ночи уважаемому сообществу.

Имеется роутер WL-520GC, в который интегрирован USB порт по вот этому (http://www.dd-wrt.com/phpBB2/viewtopic.php?t=44436&postdays=0&postorder=asc&start=75) мануалу. Сейчас там стоит DD-WRT с загрузкой с флешки. Нужно прикрутить 3G модем. Попробовал CDMA-EVDO MCD-650 - получилось через acm.o, но подвешивает роутер при активной передаче данных.:( Попробовал Huawei E173 - не заводится: дозвон идет, интерфейс ppp0 поднимается, а IP не получает. Посмотреть же лог pppd в этой кривой прошивке невозможно.

Насколько я знаю, автор мода делал репак прошивки от Олега, чтобы грузить ее с флешки, но там версия 2008 года, очень старая, и поддержки 3G в ней нет. Не поможет ли кто мануалом, как сделать аналогичный репак (мини-версия на внутреннюю флеш - 2МБ - и загрузка полной с внешней USB флешки) для прошивки от энтузиастов с поддержкой 3G? Или, может, есть уже готовый такой вариант. Не хочется изобретать велосипед.

mowgli
01-02-2012, 20:46
linuxrc в ветке -rtn похоже до сих пор нерабочий.
http://wl500g.info/showpost.php?p=241887&postcount=92

Пару ошибок в нем я исправил
Прошился твоей прошивкой, Vampik - 3696.
До этого было прошивка Constanza - 3297.
Обе проблемы остались.
1. После холодного рестарта роутера флешка не монтируется. После команды reboot монтируется нормально.
2. 3Г модем сам дозваниваться не начигает, приходится давать команду:

nvram set wan0_usb_device="12d1/1001/0"

Vampik
02-02-2012, 08:21
Прошился твоей прошивкой, Vampik - 3696.
До этого было прошивка Constanza - 3297.
Обе проблемы остались.
1. После холодного рестарта роутера флешка не монтируется. После команды reboot монтируется нормально.
2. 3Г модем сам дозваниваться не начигает, приходится давать команду:

nvram set wan0_usb_device="12d1/1001/0"

Да, есть проблема, не только с флешкой и модемом, а вообще со всеми USB-устройствами. Не помню, писал я здесь или нет, не могу найти, возможно потерли что-то. Цитата с моего сайта:

Будут ли выпускаться mini версии + fs для DIR-320?
Нет, т.к. в итоге все равно получается недоделка. USB функционал не будет работать, потому что модули загружаются до запуска прошивки.
Я делал экспериментальную версию прошивки – 3696. Но получилось вот что. В прошивке такой порядок определения USB-устройств.
Загружаются драйверы USB-контроллера -> ядро определяет подключенные устройства и посылает hotplug event’ы -> прошивка их обрабатывает и запускает соответствующие действия (монтирует флешку, подключает веб-камеру, запускает модем и т.д.)
Для загрузки прошивки с USB нужно драйверы USB-контроллера загрузить ДО ЗАГРУЗКИ прошивки (иначе как ее прочитать с флешки), соответственно hotplug event’ы уйдут в никуда (ну, в mdev, если быть точным) и ваши флешки, веб-камеры, модемы и т.д. прошивка «не увидит».
Вариантов решения проблемы у меня нет.

AlB80
02-02-2012, 21:12
Вариантов решения проблемы у меня нет.
Решение 1 (минимальное): Редкий пользователь включит в USB хоть что-то. Ну флэшка, ну модем, ну принтер, но таких меньшинство. Т.е. это можно выкинуть, а большинство оценит плюсы новой прошивки в версии small.

Решение 2 (реальное): Если,
1. на флэшку положить squashfs с вырезанными модулями USB
2. включить USB, замонтировать флэшку
3. создать tmpfs, скопировать squashfs с флэшки в tmpfs
4. отмонтировать флэшку, отключить USB
5. монтировать дополнительный squashfs из tmpfs в /
6. включить USB
то, посыпется куча событий с USB шины, и они будут обработаны.
Я понимаю что это полумера, от ограничения в виде размера флэша, переходим к ограничению в виде свободного места в ОЗУ. Но её хватит до самой глубокой старости этой железки.

Решение 3 (programmer friendly): (пере)втыкать левые USB железки после (пере)загрузки роутера с флэшки.

Решение 4 (риторическое): Исправить ядро чтобы оно запомнило неудачные события и пыталась выполнить их позже, по команде.

Vampik
02-02-2012, 22:27
Решение 1 (минимальное)

Смысл от такой прошивки? Если ничего не нужно, можно и 1.9.2.7-d использовать.


Решение 2 (реальное)

Во-первых, не представляю, можно ли так сделать. И если можно, то как.
Во-вторых, свободной оперативки на DIR-320 с -rtn - всего 8МБ, и это в режиме работы чисто как роутер (никаких принтеров, флешек, модемов и т.д., все лишние демоны выключены). Образ в районе 4МБ, остается 4МБ, которых на нормальный запуск всех плюшек не хватит.



Решение 3 (programmer friendly)

В смысле, пользователь сам после каждой перезагрузки роутера сам перевтыкает все USB-устройства? :D



Решение 4 (риторическое)
Что править? Какие неудачные события? Ядро все делает правильно. Оно не виновато, что в прошивке такая кривая система загрузки.

По сути, единственный вариант, не являющийся полумерой и костылем - переписать rc, чтобы он работал вообще независимо от hotplug event'ов. Но у меня для этого нет ни знаний, ни времени, ни желания. Я предпочитаю купить современную железку, а не мучаться со старой, устаревшей морально и физически.

Для желающих вручную (пере)втыкать железки уже давно r3696 собрано.

mowgli
03-02-2012, 19:25
Да, есть проблема, не только с флешкой и модемом, а вообще со всеми USB-устройствами.

Не совсем так.
При команде reboot и флешка монтируется нормально и роутер грузится с корнем на флешке, т.е. как надо.
А вот если переткнуть питание, то флешка остаётся неподмонтированной и корень остаётся на старом месте root=/dev/mtdblock2. Думаю, как-то эта проблема решабельна.

А вот модем, независимо от типа ребута, никогда автоматом звонить не начинает, видимо по-причине hotplug.

Vampik
03-02-2012, 21:24
Именно корень не монтируется? А вот это другое дело.
Вообще-то этот баг я исправил и все должно работать. Либо у вас флешка такая тормознутая, что при холодной загрузке не определяется больше 15 секунд, либо я даже не знаю что.

AlB80
05-02-2012, 20:55
Смысл от такой прошивки? Если ничего не нужно, можно и 1.9.2.7-d использовать.
IPv6, FastNAT, ...


Во-первых, не представляю, можно ли так сделать. И если можно, то как.
Что сделать?
Если можно смонтировать ext3 взятый напрямую с флэшки, то тут монтируется squashfs, тоже с флэшки, но сначала скопированный в tmpfs. Действия похожи на работу с mtdblock2.


Во-вторых, свободной оперативки на DIR-320 с -rtn - всего 8МБ, и это в режиме работы чисто как роутер (никаких принтеров, флэшек, модемов и т.д., все лишние демоны выключены). Образ в районе 4МБ, остается 4МБ, которых на нормальный запуск всех плюшек не хватит.

1. Можно попробовать не весь образ, а только отсутствующую часть. Или научиться выкидывать/апгрейдить старый образ в ОЗУ.
2. WL500GPv2 имеет 32МБ, при rtn-r3702 свободно 14МБ, при том что в памяти rootfs 4МБ. Разницы между DIR-320 не вижу.


А вот если переткнуть питание, то флешка остаётся неподмонтированной и корень остаётся на старом месте root=/dev/mtdblock2.
Всегда считал, что mtdblock2 (root squashfs) сначала копируется в оперативную память (чую что зараз с mtdblock1) и используется оттуда.

зы. Две DIR-320 (rtn-r3696 и d-r3591) поставили у меня рекорд uptime. 36 суток. rtn пашет без нареканий, на d периодически виснет морда. плюс в п.1.

theMIROn
06-02-2012, 07:18
squashfs никуда в память не копируется (не считая кэша), используется напрямую.

mowgli
06-02-2012, 20:07
+1 rtn прошивка на порядок надёжнее -d.
Vampik, в 3696 обнаружил ещё одну багу - не работает FTP сервер. Вообще. Даже порт не отвечает. И демон вроде не запускается.
Хотя может это из оригинальной 3696 приехало..

ConstAntz
07-02-2012, 09:35
У меня нет средств для диагностики на этапе загрузки (или я не умею ими пользоваться). Поэтому, написанное ниже, прошу рассматривать как игру больного воображения.

Уже давно было подмечено, что этап "холодный старт" отличается от этапа "перезагрузки". Какая-то часть кода (CFE ?) при перезагрузке не проходит ре-инициализацию (на асусах - не знаю, говорю за дир). Такое чувство, будто CFE это неперегружаемое микроядро, которое берет управление основным ядром на себя.

В ходе тестов по загрузке с флешки, воткнутой в картридер модема (сам модем E1750 переведен в режим МОДЕМ+КАРТРИДЕР), и основываясь на логах от dmesg и syslog, пришел к выводу, что на этапе "холодный старт" в скрипте /linuxrc на этапе подгрузки модуля sd_mod что-то идет не так и скрипт дает обратный ход. Либо не хватает какого-то условия для правильной подгрузки sd_mod (/dev/null /dev/zero etc), либо система не умеет правильно инициализировать усб-устройство (точнее будет сказать: "модем ждет немного другой инициализации"). При этом, модем "слышит" сигнал перезагрузки роутера и подчиняется ему (ака "сброс по шине USB"). После чего все становится чики-пуки и флешка монтируется.


1. После холодного рестарта роутера флешка не монтируется. После команды reboot монтируется нормально.

костыль:
Device initial script: /sbin/reboot
грузиться с мини
втыкать модем (вызовет перезагрузку)
профит ;)

mowgli
07-02-2012, 21:19
костыль:
Device initial script: /sbin/reboot
грузиться с мини
втыкать модем (вызовет перезагрузку)
профит ;)

Я сделал по-другому: повесил на аппаратную кнопку ez-setup команду ребут.
И объяснил всем что при холодной перегрузке, через минуту, нажимать эту кнопку, вторая перезагрузка будет нормальной :)

AlB80
07-02-2012, 21:29
squashfs никуда в память не копируется (не считая кэша), используется напрямую.
Тогда, ой. :(
Извините за бурную фантазию.

ConstAntz
09-02-2012, 22:43
Удалось запустить "Мегу" с флешки, воткнутой в картридер свистка.
Работоспособными оказались обе конфигурации свистка (AT^U2DIAG=256 и AT^U2DIAG=276).
Ввиду отсутствия симки, подъем соединения остался непровереным.
Решение было найдено в добавлении задержки на загрузку системы (rootdelay=5).
Предполагаю, что задержка нужна для подготовки свистка к общению с системой.

смотрим текущее состояние

cat /proc/cmdline
вносим изменения

nvram set kernel_args="root=/dev/mtdblock2 rootdelay=5 noinitrd init=/linuxrc console=ttyS0,115200"
nvram commit

mowgli
11-02-2012, 18:47
Решение было найдено в добавлении задержки на загрузку системы (rootdelay=5).

Спасибо! Помогло :)
А раньше не помогало(в твоей прошивке 3297). Хотя с горячего рестарта монтирование проходило и на 3297.

А вот модем по прежнему не звонит. В post-boot приходится вставлять строчку
nvram set ....
Модем в режиме AT^U2DIAG=256.

И ftp сервер не работает.

ConstAntz
16-02-2012, 20:53
Бета-тестеры, Велкам! rtn-r3815
Обновляться с предыдущих только через tftp! (смена product_id)
Варианта №2 - нет. Модификации минимальные.


md5sum
bf18b0ac400059f1427d73db17f03180 *KADAWR-debug-fs-r3815.tgz
949218823b9566ea2ba57b01569a7d92 *KADAWR-fs-r3815.tgz
9d588bfcc7f490839cbd777ece5c7cd7 *KADAWR-modules-R1-r3815.tgz
91157128f3985da5a925ff7943038808 *mKADAWR-1.9.2.7-rtn-r3815-Mini.trx

mowgli
18-02-2012, 01:49
Бета-тестеры, Велкам! rtn-r3815
Обновляться с предыдущих только через tftp! (смена product_id)


Огромное спасибо!
Обновился, помучился с tftp, оказывается роутер не воспринимает mtu <> 1500 при прошивании.
Проблемы стандартные - ftp server и модем надо дёргать чтоб позвонил.

Вопрос: для чего KADAWR-debug-fs-r3815.tgz ? Не использовал его.

ConstAntz
18-02-2012, 02:56
Огромное спасибо!
Обновился, помучился с tftp, оказывается роутер не воспринимает mtu <> 1500 при прошивании.
Зачем на клиентах мту дергать?

Вопрос: для чего KADAWR-debug-fs-r3815.tgz ? Не использовал его.

Сислог более болтливый ;)

Без отладочной прошивки довольно сложно. Нужно собрать прошивку с раскомментированными строками:
rc/Makefile -

CFLAGS += -g -DDEBUG -DDEBUG_TO_SYSLOG

shared/Makefile -

CFLAGS += -g -DDEBUG_TO_SYSLOG

Vampik
18-02-2012, 06:38
В чем смысл тогда? Ничего не исправлено, кроме Product ID?

mowgli
18-02-2012, 10:48
В чем смысл тогда? Ничего не исправлено, кроме Product ID?

Номер версии увеличился более, чем на сотню :) И это греет душу ;)

Интересно,камень долетел до огорода? ;-)
А если серьёзно,то и железяка вполне пока рабочая - мои 2-3 мб/с обрабатывает и "не забросившие" находятся.

ConstAntz
18-02-2012, 10:57
Номер версии увеличился более, чем на сотню :) И это греет душу ;)

Тем более, кое-кто забросил поддержку нашей зверюги :eek:
А лишних 2-5 т.руб на апгрейд в моем бюджете пока нет.

radovar
03-03-2012, 18:38
ConstAntz, перезалейте, пожалуйста, файлы из http://www.multiupload.com/HLMYYZFH90 на какой-нибудь другой хостинг, так как мультиаплоад уже месяц не работает.

ConstAntz
03-03-2012, 20:08
на какой-нибудь другой хостинг

например?

зы: ссылки в подписи.

radovar
03-03-2012, 20:40
Спасибо! А то самому собрать что-то пока не получилось.

ConstAntz
11-03-2012, 22:46
Остались две проблемы - обе с /dev.
При загрузке с подключенной флешкой - linuxrc по-прежнему ругается на строчке exec chroot . sbin/init ... :can't open dev/null: no such file и уходит в перезагрузку.
При загрузке с отключенной флешкой - linuxrc ругается на строчке umount /dev - umount: can't umount /dev: Device or resource busy. При этом успешно загружается и работает прошивка из встроенной памяти, но по выводу команды mount /dev оказывается смонтированным дважды. Это как-то неправильно, наверное.

По первой проблеме, после pivot_root, при вызове chroot, dev/null`а действительно там нету.
А по второй - у меня нет консоли :(

Буть добр, посмотри как изменится ситуация с этим патчем поверх твоего (http://wl500g.info/showpost.php?p=242405&postcount=95):

--- 1.9.2.7-rtn/others/linuxrc.sh 2012-01-03 19:30:28.633199016 +0400
+++ gateway/others/linuxrc.sh 2012-03-11 23:49:13.073144257 +0400
@@ -38,9 +38,7 @@ echo > /proc/sys/kernel/hotplug
# prepare /dev & /sys
mount -t sysfs sysfs /sys
mount -t tmpfs -o noatime,size=100K devfs /dev
-mknod -m 0600 /dev/console c 5 1
-mknod -m 0666 /dev/null c 1 3
-mknod -m 0640 /dev/nvram c 253 0
+
# coldplug udev
/sbin/mdev -s
ln -sf /proc/self/fd /dev/fd
@@ -102,7 +100,7 @@ if [ -d /mnt/mnt ]; then
umount /mnt/dev
umount /mnt/sys
umount /mnt/proc
- exec chroot . sbin/init <dev/null >dev/null 2>&1
+ exec chroot . sbin/init 2>&1
fi

# if something fails...

Со слов (http://wl500g.info/showpost.php?p=242170&postcount=9) theMIROn, считаю, что нет смысла в linuxrc создавать устройства в /dev
Методом НТ, круг поиска сузился до /dev/null, и теперь нет необходимости создавть "устройства" на target-fs вручную ;)


...соответственно hotplug event’ы уйдут в никуда (ну, в mdev, если быть точным) и ваши флешки, веб-камеры, модемы и т.д. прошивка «не увидит».

Это была шутка?
pic1.png (http://wl500g.info/attachment.php?attachmentid=8689&stc=1&d=1331507000)
pic2.png (http://wl500g.info/attachment.php?attachmentid=8690&stc=1&d=1331507000)

зы: lly, если основной ветке не повредит...

Vampik
11-03-2012, 23:22
По первой проблеме, после pivot_root, при вызове chroot, dev/null`а действительно там нету.
А по второй - у меня нет консоли :(

Буть добр, посмотри как изменится ситуация с этим патчем поверх твоего (http://wl500g.info/showpost.php?p=242405&postcount=95):

Я же решил обе проблемы патчем, зачем искать проблемы на пустом месте?

Vampik
23-03-2012, 03:12
Пишу сюда, т.к. остальные темы про DIR-320 почему-то закрыты.
Тестовая версия прошивки для DIR-320: http://vampik.ru/wl500g/rtn/4001/DIR320-1.9.2.7-rtn-r4001M.trx
Это самостоятельная урезанная прошивка, загрузки с USB не требуется. Удалено: почти весь USB-функционал (включая веб-камеры, принт-сервер и поддержку USB-накопителей !). Оставлена поддержка 3G, WiMAX, Ethernet over USB. Кому нужна новая версия для модемов, в т.ч. LTE от Yota - тестируйте.
Исправлена ошибка с зависанием роутера после сброса настроек (после сброса происходит попытка прочитать заводские MAC-адреса из /dev/mtd/5, а в rtn-версии прошивки на этот момент /dev еще пуст). Теперь все работает корректно. Также пришлось немного поправить linuxrc, иначе при перепрошивке с версии с загрузкой с USB-flash на урезанную версию роутер также зависал при загрузке.
Другие версии (с поддержкой камер, с поддержкой флешек за счет вырезания модемов и еще чего-нибудь и т.п.) сам собирать не буду, т.к. меня просили конкретно о прошивке с поддержкой Yota. :) Для желающих собрать прошивку самостоятельно под себя - патч позже выложу, необходимо еще несколько незначительных фиксов сделать.

mowgli
23-03-2012, 05:36
Тестовая версия прошивки для DIR-320


Спасибо, будем пробовать :)

AlB80
23-03-2012, 17:24
Тестовая версия прошивки для DIR-320
Спасибо. Глюки d уже так достали, что хотел просить прошивку вообще без usb.
Тем более, видел опрос на каком-то форуме, согласно его, usb модемы используют менее 25% пользователей DIR-320.
Такая прошивка с 3G устроит 90+% пользователей.

зы. http://dwnld.net.ua/viewtopic.php?t=3246218

ззы. Какое дефолтное состояние kernel_args и boot_dev? unset?
зззы. Земетил что (пере)загружаться стал медленнее, удалил переменные от USB прошивки
nvram unset kernel_args
nvram unset boot_dev
nvram commit
и загрузка роутера ускорилась почти в два раза.

ConstAntz
01-04-2012, 03:25
зззы. Земетил что (пере)загружаться стал медленнее, удалил переменные от USB прошивки
nvram unset kernel_args
nvram unset boot_dev
nvram commit
и загрузка роутера ускорилась почти в два раза.

Опрометчивый шаг относительно kernel_args, в нём достаточно было убрать rootdelay=xx (при наличии)
boot_dev: либо очистить, либо в kernel_args стартовым скриптом назначить /sbin/init


Для желающих собрать прошивку самостоятельно под себя - патч позже выложу, необходимо еще несколько незначительных фиксов сделать.

ждёмс.

Vampik
01-04-2012, 06:32
ждёмс.

Так давно уже на сайте. См. патч к r4013 и более новые.

ConstAntz
01-04-2012, 07:50
changelog:

toolchain 4.5.3-r4029
fix ext4
fix httpd
update kernel
#www2


Спасибо энтузиастам!

kernel config:
Device Drivers -> SCSI device support -> scsi-cdrom n->m
Device Drivers -> USB support -> USB verbose debug messages n->y
Device Drivers -> USB support -> USB announce new devices n->y
File system -> Miscellaneous filesystems cramfs n->y
File system -> Native Language Support -> 8859-5 n->m

Тем, кто не собирается использовать EntWare/Optware и требуется использовать модули, последние можно распаковать на флеху в /opt



Так давно уже на сайте. См. патч к r4013 и более новые.

Спасибо!

mowgli
02-04-2012, 06:42
changelog:

Тем, кто не собирается использовать EntWare/Optware и требуется использовать модули, последние можно распаковать на флеху в /opt


Значит KADAWR-r4051-modules-r1.tgz распаковывать в /opt? Почему?
Раньше ж путь был /lib/modules/...

ConstAntz
02-04-2012, 07:15
Значит KADAWR-r4051-modules-r1.tgz распаковывать в /opt? Почему?
Раньше ж путь был /lib/modules/...

modprobe ищет их по пути /opt/lib/modules/...

Vampik
19-04-2012, 18:36
Кто-нибудь пользуется моими -rtn сборками для DIR-320 с 3G-модемом? usb_modeswitch (переключение из режима Zero CD в режим модема) работает? Пользователь жалуется, что на r4051 модем работает только с принудительно отключенным (через удаление CD_STARTUP_FLAG) Zero CD. usb_modeswitch при ручном запуске вываливает кучу ошибок.

mowgli
20-04-2012, 07:47
У меня модем и dir320.
Пробовал несколько rtn прошивок. Ни на одной из них стабильно модем не переключался в режим модема. Т.е. вероятность автоматического переключения где-то 90% была.
Пришлось командой AT^U2DIAG принудительно отключать cd-rom.
Смутно вспоминаю, что на -d прошивках вероятность автоматического переключения была намного выше.

Vampik
20-04-2012, 08:46
Пробовал несколько rtn прошивок.

Урезанных или полных с загрузкой с USB-флешки?

mowgli
24-04-2012, 06:17
Да, речь про полные прошивки. И флешка использовалась, вставленная в модем.

Virtuals
04-05-2012, 16:45
пробовал RTN и последние сборки d ветки... на DIR320
имхо чет сломали с USB или (и) usb-serial :(.

на RTN пришлось отключить cdrom в свистке. и то не факт что после ребута по питанию свисток взлетит... по логам все нормально но скрипт дозвона автоматом не стартует....
на d - периодически отваливаются сериальные порты.... тоесть в системе они присутствуют но обмена с модемом нет :(

+ после ребута по питанию тож не всегда стартует, помогает или свисток передернуть иль программно:
rmmod usb-ohci
rmmod ehci-hcd
insmod ehci-hcd
(писол по памяти)

ЗЫ давно было... пытался отписать о этом в теме по модемам.... но похоже проявляется аллергия к диркам.... ща использую для 3G модема древнюю прошивку (с "светомузыкой" на кнопке :) как-то смог ее настроить и пашет безглючно в любых режимах) хоть и не хватает новомодных фичь вида просмотра баланса и трафика модема.

PSPS последние версии не ставил... если нужно - то есть возможность проверить., но обратно включать cdrom в свистке очень не хочется ;).... завтра проверю r4126 мало ли вдруг ничего более не сломали.

Vampik
04-05-2012, 17:58
Мне один человек (с модемом ZTE MF626) некоторое время назад уже жаловался, что на -rtn usb_modeswitch не работает. При ручном запуске получается примерно такой вывод с ошибками:

libusb:error [op_release_interface] release interface failed, error -1 errno 22

Reading config file: /usr/share/usb_modeswitch.d/19d2:2000

* usb_modeswitch: handle USB devices with multiple modes
* Version 1.2.1 (C) Josua Dietze 2011
* Based on libusb0 (0.1.12 and above)

! PLEASE REPORT NEW CONFIGURATIONS !

DefaultVendor= 0x19d2
DefaultProduct= 0x2000
TargetVendor= 0x19d2
TargetProduct= not set
TargetClass= not set
TargetProductList="0001,0002,0015,0016,0017,0031,0037,0052,0055,0063, 0064,0066,0091,0108,0117,0128,0157,2002,2003"

DetachStorageOnly=0
HuaweiMode=0
SierraMode=0
SonyMode=0
QisdaMode=0
GCTMode=0
KobilMode=0
SequansMode=0
MobileActionMode=0
CiscoMode=0
MessageEndpoint= not set
MessageContent="5553424312345678000000000000061e000000000000000000 000000000000"
MessageContent2="5553424312345679000000000000061b000000020000000000 000000000000"
MessageContent3="55534243123456702000000080000c85010101180101010101 000000000000"
NeedResponse=1
ResponseEndpoint= not set

InquireDevice enabled (default)
Success check disabled
System integration mode enabled


Looking for target devices ...
searching devices, found USB ID 19d2:2000
found matching vendor ID
searching devices, found USB ID 1d6b:0001
searching devices, found USB ID 1d6b:0002
No devices in target mode or class found
Looking for default devices ...
searching devices, found USB ID 19d2:2000
found matching vendor ID
found matching product ID
adding device
searching devices, found USB ID 1d6b:0001
searching devices, found USB ID 1d6b:0002
Found device in default mode, class or configuration (1)
Accessing device 002 on bus 001 ...
Getting the current device configuration ...
OK, got current device configuration (1)
Using first interface: 0x00
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Could not send INQUIRY message (error -4)

USB description data (for identification)
-------------------------
Manufacturer: ZTE, Incorporated
Product: ZTE CDMA Technologies MSM
Serial No.: not provided
-------------------------
Looking for active driver ...
OK, driver found; name unknown, limitation of libusb1
OK, driver "unkown" detached
Setting up communication with interface 0
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
Sending the message returned error -7. Trying to continue
Reading the response to message 1 (CSW) ...
Response reading got error -7
Device is gone, skipping any further commands
-> Run lsusb to note any changes. Bye.



T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=19d2 ProdID=2000 Rev= 0.00
S: Manufacturer=ZTE, Incorporated
S: Product=ZTE CDMA Technologies MSM
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=05 Prot=50 Driver=usbfs
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
Какой у вас модем? Я, к сожалению, проверить не могу - у меня нет ни одного модема.

Virtuals
05-05-2012, 03:00
Какой у вас модем? Я, к сожалению, проверить не могу - у меня нет ни одного модема.
ZTE MF180
VID_19D2&PID_2003

свисток в режиме: модем онли!


T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=19d2 ProdID=0016 Rev= 0.00
S: Manufacturer=ZTE,Incorporated
S: Product=ZTE WCDMA Technologies MSM
C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=83(I) Atr=03(Int.) MxPS= 64 Ivl=2ms
E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms

ЗЫ
прошивку поставил:
Linux version 2.6.22.19 (root@localhost) (gcc version 4.5.3 (GCC) ) #2 Sun Apr 1 05:34:57 MSK 20121.9.2.7-rtn-r4051M
хм.... все стало лучше :)., и коннект есть после ребута по питанию., и перестали отваливатся сериальные интерфейсы, (USSD можно воспользоватся более одного раза :))

mowgli
05-05-2012, 06:20
У меня ни на одной rtn прошивке автодозвон модема не работает.
Приходится вставлять строку

nvram set wan0_usb_device="12d1/1001/0"
в post-mount.
Модем в режиме флешка+модем, сидиром отключен.

vectorm
05-05-2012, 08:10
У меня MF626 перестал нормально распознаваться еще когда в modeswitch автор внес параметры MF100 - у них vid/pid одинаковый.
Но поскольку подобным подключением не пользуюсь, списал на локальный глюк. В дальнейшем работоспособность не проверял.

Infernion
02-06-2012, 11:30
ConstAntz перезалейте пожалуйста r4051-KADAWR, при переходе по ссылка пишет что файл не найден(
И еще могу порекомендовать http://github.com/ пригодится при разработке и увеличения количества версий)

ConstAntz
02-06-2012, 17:15
ConstAntz перезалейте пожалуйста r4051-KADAWR, при переходе по ссылка пишет что файл не найден(

У Vampik`a на сайте (http://vampik.ru/wl500g/rtn/) вроде как посвежее и вкуснее (http://vampik.ru/wl500g/rtn/4294/DIR320-1.9.2.7-rtn-r4294M.trx) лежит. Если нужен кадавр - забираем (http://zalil.ru/33371353).


И еще могу порекомендовать http://github.com/ пригодится при разработке и увеличения количества версий)
Дублировать проект не имеет смысла, достаточно наложить патч.

Virtuals
03-06-2012, 13:06
имхо r4051 не рекомендую, постоянно рвет связь по WiFi (но вроде не со всеми клиентами)
4177 оказалась в этом плане стабильней.

ConstAntz
04-06-2012, 10:43
имхо r4051 не рекомендую, постоянно рвет связь по WiFi (но вроде не со всеми клиентами)
4177 оказалась в этом плане стабильней.

Это намёк на то, чтобы свет увидел KADAWR-4177 и более поздние?

Virtuals
07-06-2012, 14:48
нет просто прямая констатация факта.
в 4051 однозначно есть какая-то проблема при том замечено на разных моделях роутеров. а уж выводы сделать думаю не сложно.

mowgli
13-06-2012, 09:33
Это намёк на то, чтобы свет увидел KADAWR-4177 и более поздние?

А я бы с удовольтвием поюзал :)

Virtuals
16-06-2012, 09:12
Это намёк на то, чтобы свет увидел KADAWR-4177 и более поздние?

подумал подумал..... да очень хочется ;).
в идеале и все что есть внутри 1.9.2.7-rtn-r4177M от Vampik осталось. и чтоб загрузка с USB была возможна.

PS у меня несколько ентих дирок., и часть их использую в носимом варианте., иногда требуется полная прошивка а иногда и просто как точка доступа с 3G модемом.....

Vampik
16-06-2012, 09:55
PS у меня несколько ентих дирок., и часть их использую в носимом варианте., иногда требуется полная прошивка а иногда и просто как точка доступа с 3G модемом.....

Вам критичны именно функции принт-сервера? Остальное, насколько я понимаю, при желании можно поставить из репозитория.

Virtuals
16-06-2012, 19:18
нет :). критичны только функции pptp и 3G свистки., ну и само собой USB.
все остальное можно и извне запустить.

как принт-сервер я пока роутер даж ниразу и не попробовал :(. он мне более нравится как стабильная железка, буквально зубами держащая инет., и раздающая его потребителям.

PS в планах конечно самому начать прошивку собирать под нужды... но увы времени катастрофически нехватка.

ЗЫЗЫ давно крутится идея: добавить переменную, что скажет ядру совсем не использовать gpio светодиодов. (дабы освободить эти линии для других нужд.)
//в этот раз сунулся.... не хватило фтп сервера :(., а вот идея загрузки root_FS с флешки самое оно., если не хватает того что в базе., вставил флеш... минимум манипуляций и вот оно.... полная прошивка, да еще корень в RW :).
//выяснилось что дирка достаточно экономичен в плане электричества., отсель один готовится к переселению в машину :). а там требования это: 3G и максимум gpio что можно освободить под нужды.


Остальное, насколько я понимаю, при желании можно поставить из репозитория.
я сторонник того что код должен использовать библиотеки прошивки., пользовать оптварь ентварь это в крайнем случае.... оперативка то не резиновая., нафига иметь пару копий либ в памяти

ConstAntz
17-06-2012, 10:51
Два голоса - уже сила! Перееду на новый стэнд и соберу сабж (http://wl500g.info/showthread.php?29009-4G-%CC%E5%E3%E0%F4%EE%ED-(LTE-Modem-Huawei-E392-E398)-%ED%E0-%F0%EE%F3%F2%E5%F0%E5-Asus&p=251634#post251634) (если lly не опередит), обязателньно выложу ...

mowgli
24-06-2012, 09:49
Обнаружил ещё один глюк KADAWR rtn-r4051-Storage.
Не работает Call on Demand. Модем постоянно пытается быть on-line, независимо от требований внутренних устройств.

Оказалась беда в том, что морда выставляет не ту переменную wan_modem_demand, а надо wan0_modem_demand.
Более того, сохранить эту переменную правильной не удаётся, перетирается при ребуте, пришлось вставить ещё одну строку в post-boot:

nvram set wan0_modem_demand=1
В предыдущих прошивках такой беды не наблюдал.

ConstAntz
24-06-2012, 14:37
Обнаружил ещё один глюк KADAWR rtn-r4051-Storage.
Не работает Call on Demand. Модем постоянно пытается быть on-line, независимо от требований внутренних устройств.

Ради чистоты эксперимента:

установите время разрыва соединения отличное от нуля (например 60)
отключите обновление времени
отключите Wi-Fi
отключите провода клиентов



все равно онлайн?

kosty
19-07-2012, 10:06
возможно ли установка нового репозитария на dlink dir 320 с прошивкой 1.9.2.7-d-r3591.???

MercuryV
19-07-2012, 10:14
возможно ли установка нового репозитария на dlink dir 320 с прошивкой 1.9.2.7-d-r3591.???
Entware предполагает наличие ядра linux 2.6, так что с прошивкой -d ничего хорошего не получится.
Однако существуют свежие -rtn прошивки (http://vampik.ru/proshivka-dlya-d-link-dir-320/) для DIR-320

Бодтэк
22-08-2012, 10:45
Пытаюсь установить прошивку rtn на свой DLink Dir 320 (rev. A2). В силу того, что уже скомпилированная для ASUS WL500gp V2 прошивка весит 5.5 Мб, что больше размера флэш-памяти на Dir 320 (4 Мб), решил собрать её самостоятельно. Собирал прошивку для модели WL500gp V2. Чтобы уменьшить итоговый размер прошивки отключил много разных функций. Кроме того, перед подготовкой исходников подправил файл /broadcom/src/1.9.2.7-rtn/Makefile.top так, чтобы FlashMaxSize для модели WL500gpv2 равнялся 3801880. В результате сборки файл с прошивкой имеет размер 3616 Кб и прекрасно заливается в роутер, однако работа с flashfs невозможна, так как нет соответствующего устройства.
cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 003b0000 00010000 "linux"
mtd2: 002b3120 00010000 "rootfs"
mtd3: 00010000 00002000 "nvram"
Привожу кусок из лога загрузки (dmesg):

Flash device: 0x400000 at 0x1c000000
Physically mapped flash: squashfs filesystem found at block 1267
Creating 4 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "boot"
0x00040000-0x003f0000 : "linux"
0x0013cee0-0x003f0000 : "rootfs"
0x003f0000-0x00400000 : "nvram"
Found a 0MB serial flash
sflash: found no supported devices
Есть ли смысл ещё дальше уменьшать размер прошивки или тут нужны другие действия? Вроде как issue 326 (http://code.google.com/p/wl500g/issues/detail?id=326) тут не при чём, так как заливаемая без проблем прошивка линии d, у которой flashfs работает имеет даже бОльший размер (3700 Кб), чем собранная мной.

Virtuals
22-08-2012, 13:12
вы-б глаза подняли на пост прям над вашим

http://vampik.ru/source-code/

там есть патчи к сорцам из основной ветки, помимо всего прочего, и для нормальной потдержки дирки320

Бодтэк
22-08-2012, 14:25
вы-б глаза подняли на пост прям над вашим

http://vampik.ru/source-code/

там есть патчи к сорцам из основной ветки, помимо всего прочего, и для нормальной потдержки дирки320
Спасибо, займусь "патчиванием" :)

ryzhov_al
24-08-2012, 09:48
А если подойти с другой стороны?

пересобрать любую выбранную прошивку для роутера с включенным CONFIG_KEXEC=y (http://en.wikipedia.org/wiki/Kexec),
использовать (http://www.permlug.org/node/4322) kexec для того, чтобы загрузить другое ядру "налету".

С одной стороны это позволит не ломать функционал роутера, а с другой - грузиться хоть в debian!
Механизм рабочий (https://forum.openwrt.org/viewtopic.php?id=23881). Userspace утилиту kexec для подгрузки нового ядра в репозиторий я добавил.

kpk17
28-08-2012, 07:30
подскажите пожалуйста, для Dlink 320 a1 какую прошивку ставить?
Планируется dlna через usb винт или флешку. samba
спасибо!

don-pedro
28-08-2012, 07:48
подскажите пожалуйста, для Dlink 320 a1 какую прошивку ставить?

http://vampik.ru/proshivka-dlya-d-link-dir-320/

Vampik
28-08-2012, 09:15
http://vampik.ru/proshivka-dlya-d-link-dir-320/

Только для использования samba понадобится либо старая прошивка 1.9.2.7-d, либо новая прошивка 1.9.2.7-rtn, но с ручной установкой samba из репозитория entware.

kpk17
28-08-2012, 14:47
Только для использования samba понадобится либо старая прошивка 1.9.2.7-d, либо новая прошивка 1.9.2.7-rtn, но с ручной установкой samba из репозитория entware.

установил 1.9.2.7-rtn-r4330M

а таким способом будет работать?
wget http://www.studionr.ru/wl500/install.sh
chmod +x install.sh
./install.sh

Vampik
28-08-2012, 15:31
а таким способом будет работать?
wget http://www.studionr.ru/wl500/install.sh
chmod +x install.sh
./install.sh

Нет, не будет работать.

kpk17
28-08-2012, 16:21
Нет, не будет работать.

ткните пожалуйста хотябы как установить медиасервер и самбу.
спасибо!

Virtuals
28-08-2012, 17:53
ткните пожалуйста хотябы как установить медиасервер и самбу.
спасибо!

http://wl500g.info/showthread.php?28036-%CF%E5%F0%E5%F5%EE%E4-%ED%E0-%ED%EE%E2%FB%E9-%F0%E5%EF%EE%E7%E8%F2%EE%F0%E8%E9-Entware-%F1-Optware
ткнул, начинать по любому с этого.

kpk17
28-08-2012, 20:30
http://wl500g.info/showthread.php?28036-%CF%E5%F0%E5%F5%EE%E4-%ED%E0-%ED%EE%E2%FB%E9-%F0%E5%EF%EE%E7%E8%F2%EE%F0%E8%E9-Entware-%F1-Optware
ткнул, начинать по любому с этого.
Спасибо. Уже нашел. Видимо просто установлю прошивку старую, чтобы не заморачиватсья особо.

Virtuals
29-08-2012, 15:41
зря, потеряешь больше... но как говорится каждому позволено на грабли наступать лично.

Popovsky
18-08-2016, 17:07
Уважаемые подскажите плиз, где почитать про то, как сделать загрузку Вашей прошивки с флешки... как в прошивке от Олега? Если такое возможно...
Asus WL-500W, прошивка WL500W-1.9.2.7-rtn-r5066.trx

lly
23-08-2016, 14:19
Уважаемые подскажите плиз, где почитать про то, как сделать загрузку Вашей прошивки с флешки... как в прошивке от Олега?

rootfs - точно так-же(поиск по boot_dev). Ядро - никак, это должна быть поддержка в CFE.