Log in

Bekijk de volledige versie : Новая прошивка 1.9.2.7-d/-rtn от энтузиастов и Олега



Pages : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

lly
06-03-2009, 18:31
смотри прицеп
Расшифровал Oops - причина сходна с Issue 2, буду думать.

theMIROn
06-03-2009, 19:41
Расшифровал Oops - причина сходна с Issue 2, буду думать.
чем помочь? в usb я еще не залезал

lly
06-03-2009, 20:13
чем помочь? в usb я еще не залезал
О-о-о! там можно утонуть, я с трудом с кочки на кочку перепрыгиваю ;)
А если серьезно - пока попытаюсь разобраться сам, если вдруг заткнусь - напишу.

Кстати, не глядел еще обсуждение accel-pptpd? Олег рекомендует :)

ghost_ufa
07-03-2009, 03:57
sapsan
С учетом написанного там, и того, что автор таки спортировал драйвер на 2.4 (о чем ни слова в документации :( ), этот вопрос можно рассмотреть повнимательнее. А энтузиасты у нас еще найдутся или опять только на всё готовенькое? :rolleyes:


Энтузиасты? Хм... это зависит.

По крайней мере мне, вспоминая сравнение работы MPD и POPTOP на FreeBSD, идея с переносом PPTP-клиента в ядро кажется многообещающей в плане производительности.

lly
07-03-2009, 07:01
Энтузиасты? Хм... это зависит.
Собрать-то мы сумеем, я даже смогу запустить на искусственном стенде с poptop, но требуется:
а) предварительное тестирование без имплантации в rc на реальных провайдерах (то бишь конфиг и запуск ручками)
б) замер скорости
в) по результатам, собственно переделка startup'а в rc, возможно затронется web часть.

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

ghost_ufa
07-03-2009, 07:59
Мне кажется что есть еще один немаловажный критерий - внешний канал с приличной шириной, чтобы лимитировал сам роутер...

Я могу приложить свои скромные силы на потестировать, одно НО - у меня уже есть изменения в прошивке относительно ваших исходников...

Dao_Dezi
07-03-2009, 08:28
2 lly

У меня два немного оффтопичных вопроса...
1) На премиумах обеих версий установлено 8Мб флеша - значит я могу нужное мне внедрять прямо в прошивку не стесняясь рамками прошивки в 4Мб? Какая должна быть прошивка максимум по размеру для них?

2) В Вашей прошивке и в репозитарии optware совпадают uClibc? Я могу брать оттуда бинарии для внедрения в прошивку?

lly
07-03-2009, 08:47
1) На премиумах обеих версий установлено 8Мб флеша - значит я могу нужное мне внедрять прямо в прошивку не стесняясь рамками прошивки в 4Мб? Какая должна быть прошивка максимум по размеру для них?

2) В Вашей прошивке и в репозитарии optware совпадают uClibc? Я могу брать оттуда бинарии для внедрения в прошивку?
1) Не забыв сохранить flashfs - он затрётся при переходе границы в 4M. Максимум стандартный - 7A0000 (~7.8Мб)
2) нет, разные. В optware сделано грамотно - бинарники пытаются тянуть uClibc из /opt/lib

ghost_ufa
07-03-2009, 11:10
1) Не забыв сохранить flashfs - он затрётся при переходе границы в 4M.


ИМХО более правильно задействовать старшую область флеша под независимую SquashFS, сейчас как раз копаю в эту сторону.



2) нет, разные. В optware сделано грамотно - бинарники пытаются тянуть uClibc из /opt/lib

если не требуется внешнего накопителя - то "mount -o bind / /opt" позволяет оптваревским пакетам (некоторым) запускаться и на прошивочной uClibc. Но они сильно по-разному сконфигурированы, и чаще всего не находится нужный экспорт.

UPD:
После прочтения инструкций осталось впечатление, что адреса областей флеша задаются какой-либо конфигурационной записью... и вдруг в процессе копания неожиданно выхожу на файл broadcom/src/linux/linux/arch/mips/bcm947xx/setup.c , в котором сие производится откровенно шаманским способом... Это что - у всех роутеров так???

И... А может мне кто прояснить - зачем в оном setup.c проверка на squashfs делается аж ПЯТЬ раз подряд??? Неужто я так отстал от жизни?!

DemonGloom
09-03-2009, 07:23
А вдруг squashfs в процессе работы исчезнет :D надо ведь проверить на всякий случай :)

al37919
09-03-2009, 07:44
если не требуется внешнего накопителя - то "mount -o bind / /opt" позволяет оптваревским пакетам (некоторым) запускаться и на прошивочной uClibc. Но они сильно по-разному сконфигурированы, и чаще всего не находится нужный экспорт.
оптваревские пакеты для встраивания в прошивку удобно класть в /opt. Тогда удается полностью воссоздать то к чему они привыкли, а на rw смонтировать /opt/var /opt/etc и возможно /opt/tmp

В случае использования прошивки Олега можно обойтись и без лишней uclibc-opt если использовать пакеты из старого фида unslung/wl500g Они собраны с использованием того же тулчейна, что и сама прошивка.

AlexeyS
09-03-2009, 11:02
Не собираются последние ревизии из SVN: Скачиваю 171 ревизию, разворачиваю всё дерево исходников с нуля, make kernel:
Can not apply kernel/235-usb-ehci-backport.patch cleanly

UPD:
patching file drivers/usb/host/ehci.h
Hunk #4 FAILED at 114.
Hunk #5 FAILED at 142.

lly
09-03-2009, 11:24
Не собираются последние ревизии из SVN: Скачиваю 171 ревизию, разворачиваю всё дерево исходников с нуля, make kernel:
Can not apply kernel/235-usb-ehci-backport.patch cleanly
Ты не одинок, у multiplug тоже не применяется (в части ehci.h - Hunk 4,5,10,14), почему понять пока не могу - у меня те же patchutils 0.3 и всё применяется :confused:

Updated: Только у меня OpenSUSE, а у него gentoo. Попробуй убрать комментарии с hunk'ов - в прошлый раз было подобное. У меня на обоих сборочных станциях (OpenSUSE 10, OpenSUSE 11.1) все проходило, а у народа падало...

Updated2: Похоже нашел - у вас похоже оригинальный GNU patch 2.5.4 еще аж 1999 года, а в SuSe допилили баги (у меня 2.5.9). Вот он и ругается :(

P.S. По просьбам из англоязычной ветки я добавил в howto (http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware_en) сборки пункт 5, гляньте на досуге насколько доходчиво.

AlexeyS
09-03-2009, 11:46
Updated: Только у меня OpenSUSE, а у него gentoo. Попробуй убрать комментарии с hunk'ов - в прошлый раз было подобное. У меня на обоих сборочных станциях (OpenSUSE 10, OpenSUSE 11.1) все проходило, а у народа падало...

У меня Debian 4


Updated2: Похоже нашел - у вас похоже оригинальный GNU patch 2.5.4 еще аж 1999 года, а в SuSe допилили баги (у меня 2.5.9). Вот он и ругается :(


debian-virt:/opt/broadcom/src/wl500g-1.9.2.7-d/kernel# patch -ver
patch 2.5.9
Copyright (C) 1988 Larry Wall
Copyright (C) 2003 Free Software Foundation, Inc.

This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

written by Larry Wall and Paul Eggert

lly
09-03-2009, 11:51
# patch -ver
patch 2.5.9
Тогда совсем не понимаю. У меня ровно такая же версия! А ошибки даёт только выкачанный с gnu.org 2.5.4

Updated: Ну конечно я нашел в чем дело - если в конце hunk'а стоит больше 3-х неизменяемых строк, он их прибавляет к Fuzz :confused: А по умолчанию, стоит Fuzz=2.

Бага полечена только в OpenSUSE, начиная с 2007-11-02, патч fix-partial-context.diff

ghost_ufa
10-03-2009, 04:20
А вдруг squashfs в процессе работы исчезнет :D надо ведь проверить на всякий случай :)

Вероятность исчезнуть у части прошивки таки поменьше, чем у внешней флешки - для моих применений это актуально.

Partos
11-03-2009, 07:07
Господа разработчики!
После перехода на R160 почему-то исчез подсчет свободного места через Samba. То есть, общий размер показывает, а доступный - 0МБ. Хотя запись на диск дает делать и на нем свободно 25 Гигов из 750 (проверено в Ubuntu). Обновлял с проши от 25.02.09.
И еще поясните "Change Read/Write/Erase ftp rights to Write Only" это о каких rights идет речь, в каком месте?

lly
11-03-2009, 07:47
После перехода на R160 почему-то исчез подсчет свободного места через Samba. То есть, общий размер показывает, а доступный - 0МБ. Хотя запись на диск дает делать и на нем свободно 25 Гигов из 750 (проверено в Ubuntu). Обновлял с проши от 25.02.09.
samba встроенная или другая? При чём здесь Ubuntu??! что показывает df на роутере?

Partos
11-03-2009, 09:03
samba встроенная или другая? При чём здесь Ubuntu??! что показывает df на роутере?
Самба встроенная. К Ubunte подключал, чтоб на ошибки файловой системы потестить, мало ли что. DF посмотрю вечером, отпишу.

Partos
11-03-2009, 10:53
что показывает df на роутере?



df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/discs/disc0/part1
721075720 693979836 0 100% /tmp/mnt/disc0_1
/dev/discs/disc0/part1
721075720 693979836 0 100% /opt

jan_h
11-03-2009, 11:01
df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/discs/disc0/part1
721075720 693979836 0 100% /tmp/mnt/disc0_1
/dev/discs/disc0/part1
721075720 693979836 0 100% /opt


Так что же Вы хотите? У Вас один и тот же диск монтируется в две точки, при этом одна из них /opt. вот samba и показывает 0 для /opt.

Partos
11-03-2009, 11:09
Так что же Вы хотите? У Вас один и тот же диск монтируется в две точки, при этом одна из них /opt. вот samba и показывает 0 для /opt.

Она уже год так монтируется. Вот так:

#явная команда монтировки двух портов, чтобы не зависеть от того запущен stupid-ftp или нет. Смонтируется хоть что-то
/bin/mount -o sync,noatime,rw /dev/discs/disc0/part1 /tmp/harddisk
/bin/mount -o sync,noatime,rw /dev/discs/disc1/part1 /tmp/harddisk
# если /opt находится на общем смонтированном диске, а не как отдельный раздел:
/bin/mount -o bind,sync,noatime,rw /tmp/harddisk/opt /opt

Не понимаю...

jan_h
11-03-2009, 11:15
Только что советовал одному посоветую и Вам. Не поленитесь, перейдите по ссылке с подписи vectorm "Мой вариант инструкции с нуля" (http://vectormm.net/asus_install.html). Он подробно описывает как правильно смонтировать диски на роутере, тем более если Вы хотите использовать один жесткий диск для swap, /opt и данных.

Partos
11-03-2009, 11:19
если Вы хотите использовать один жесткий диск для swap, /opt и данных.
Я уже наоборот хочу - opt и swap на флешке + данные на диске.

И все же, до этого ведь работало ГОД!!!

jan_h
11-03-2009, 11:25
Я уже наоборот хочу - opt и swap на флешке + данные на диске.

И все же, до этого ведь работало ГОД!!!
Я, применив указанную инструкцию, себе так сразу и настроил.
Насчет "ГОД" не знаю - Вы df только сейчас выложили :rolleyes:, да и роутер у меня только 4 месяца.
А не подскажете откуда Вы эту последовательность монтирования взяли? А то смотрю у многих "двойные" точки монтирования. У Вас еще цветочки - у одного fat32 и ext3 в одну точку монтируется.

lly
11-03-2009, 11:40
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/discs/disc0/part1
721075720 693979836 0 100% /tmp/mnt/disc0_1
Размечен как ext3? Резерв для root'а не обнулили при разметке? Тогда это фича - 10% резерв.

Partos
11-03-2009, 11:40
А не подскажете откуда Вы эту последовательность монтирования взяли?
Давным-давно только ОДНА БИБЛИЯ (http://wl500g.info/showthread.php?t=3171) была. :D ;)

Partos
11-03-2009, 11:46
Размечен как ext3?
Размечен ext3.

Резерв для root'а не обнулили при разметке?
Даже не знаю что это. Но раньше заполнял до 100% свободно. А щас настирал уже с него гигов на 10 - а свободно все одно 0.

Тогда это фича - 10% резерв.
А что она только щас появилась?

lly
11-03-2009, 11:53
Размечен ext3.

Даже не знаю что это. Но раньше заполнял до 100% свободно. А щас настирал уже с него гигов на 10 - а свободно все одно 0.

А что она только щас появилась?
Давным давно, ключик -m у mke2fs. А заполнить удавалось, потому что всегда из-под рута работаете :rolleyes:

Partos
11-03-2009, 12:13
Давным давно, ключик -m у mke2fs. А заполнить удавалось, потому что всегда из-под рута работаете :rolleyes:
Что делать-то? И почему сейчас? И какой-такой ключик волшебный, которого ни в одной "Инструкции с нуля" нет?

al37919
11-03-2009, 12:34
Что делать-то? ...
ничего --- все у тебя зашибись.

Partos
11-03-2009, 12:45
ничего --- все у тебя зашибись.
:confused:

Partos
11-03-2009, 13:03
Тогда это фича - 10% резерв.
Спасибо, lly. Постирал еще чуток :rolleyes: и появилось желанное.

df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 3072 3072 0 100% /
/dev/discs/disc0/part1
721075720 676825928 7621192 99% /tmp/mnt/disc0_1
/dev/discs/disc1/part1
860584 75084 742128 9% /tmp/mnt/disc1_1
/dev/discs/disc1/part1
860584 75084 742128 9% /opt


И можно подробнее про ключик -m ?

Видимо, совпала перепрошивка и заполнение, а я не заметил.
Щас перенес /opt и swap на флешку, можно как-то обойти этот резерв 10%, или только переформатирование спасет?

al37919
11-03-2009, 13:23
можно как-то обойти этот резерв 10%, или только переформатирование спасет?
почитай доку по tune2fs

ABATAPA
11-03-2009, 17:12
А кто-нибудь пробовал "играть" с coalesce на ethX?
Как это сказывается на скорости eth (не коммутатора!) и загрузке CPU при этом?

ghost_ufa
12-03-2009, 06:03
2 lly

ну наконец-то tmpfs! А почему без noatime nodiratime? Зачем оно там?

может лучше так:


-<----->mount("ramfs", "/tmp", "ramfs", MS_MGC_VAL, NULL);
+<----->mount("tmpfs", "/tmp", "tmpfs", MS_MGC_VAL | MS_NOATIME | MS_NODIRATIME, NULL);

lly
12-03-2009, 06:49
ну наконец-то tmpfs! А почему без noatime nodiratime? Зачем оно там?
Может ты и прав, а что скажет общественность? Нужны ли нам обновления access time?

ghost_ufa
12-03-2009, 07:14
"Раз пошла такая пьянка..." (С)

Предлагаются такие патчи - у меня прошивка давно с ними.



--- broadcom/src/linux/linux/.config.old<------>2009-03-02 03:32:52 +0500
+++ broadcom/src/linux/linux/.config<-->2009-03-02 05:34:10 +0500
@@ -429,7 +421,7 @@
#
# CONFIG_IP_VS is not set
# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
+CONFIG_KHTTPD=m
.
#
# SCTP Configuration (EXPERIMENTAL)
@@ -463,12 +451,12 @@
# CONFIG_NET_SCH_CSZ is not set
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
-# CONFIG_NET_SCH_RED is not set
+CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_ESFQ=m
# CONFIG_NET_SCH_TEQL is not set
# CONFIG_NET_SCH_TBF is not set
-# CONFIG_NET_SCH_GRED is not set
+CONFIG_NET_SCH_GRED=m
# CONFIG_NET_SCH_NETEM is not set
# CONFIG_NET_SCH_DSMARK is not set
CONFIG_NET_SCH_INGRESS=y
@@ -539,8 +519,8 @@
# CONFIG_IDEDMA_ONLYDISK is not set
CONFIG_BLK_DEV_IDEDMA=y
# CONFIG_IDEDMA_PCI_WIP is not set
-CONFIG_BLK_DEV_ADMA100=y
-CONFIG_BLK_DEV_AEC62XX=y
+CONFIG_BLK_DEV_ADMA100=m
+CONFIG_BLK_DEV_AEC62XX=m
# CONFIG_BLK_DEV_ALI15X3 is not set
# CONFIG_WDC_ALI15X3 is not set
# CONFIG_BLK_DEV_AMD74XX is not set
@@ -556,7 +536,7 @@
# CONFIG_BLK_DEV_PIIX is not set
# CONFIG_BLK_DEV_NS87415 is not set
# CONFIG_BLK_DEV_OPTI621 is not set
-CONFIG_BLK_DEV_PDC202XX_OLD=y
+CONFIG_BLK_DEV_PDC202XX_OLD=m
CONFIG_PDC202XX_BURST=y
# CONFIG_BLK_DEV_PDC202XX_NEW is not set
# CONFIG_PDC202XX_FORCE is not set
@@ -1018,10 +962,11 @@
CONFIG_VFAT_FS=y
# CONFIG_EFS_FS is not set
# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
+CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS_DEBUG=0
# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
-# CONFIG_TMPFS is not set
+CONFIG_TMPFS=y
CONFIG_RAMFS=y
# CONFIG_ISO9660_FS is not set
# CONFIG_JOLIET is not set
@@ -1031,8 +976,8 @@
# CONFIG_JFS_STATISTICS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
-CONFIG_NTFS_FS=y
-# CONFIG_NTFS_RW is not set
+CONFIG_NTFS_FS=m
+CONFIG_NTFS_RW=y
# CONFIG_HPFS_FS is not set
CONFIG_PROC_FS=y
CONFIG_DEVFS_FS=y
@@ -1116,16 +1061,16 @@
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
# CONFIG_NLS_CODEPAGE_857 is not set
-CONFIG_NLS_CODEPAGE_860=y
-CONFIG_NLS_CODEPAGE_861=y
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
-CONFIG_NLS_CODEPAGE_869=y
+CONFIG_NLS_CODEPAGE_869=m
# CONFIG_NLS_CODEPAGE_936 is not set
-CONFIG_NLS_CODEPAGE_950=y
+CONFIG_NLS_CODEPAGE_950=m
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
@@ -1136,7 +1081,7 @@
# CONFIG_NLS_ISO8859_2 is not set
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
+CONFIG_NLS_ISO8859_5=m
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
@@ -1400,17 +1301,17 @@
# CONFIG_CRYPTO_HMAC is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_MD4 is not set
-# CONFIG_CRYPTO_MD5 is not set
+CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1=y
-# CONFIG_CRYPTO_SHA256 is not set
+CONFIG_CRYPTO_SHA256=m
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_WP512 is not set
-# CONFIG_CRYPTO_DES is not set
-# CONFIG_CRYPTO_BLOWFISH is not set
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_SERPENT is not set
-# CONFIG_CRYPTO_AES is not set
+CONFIG_CRYPTO_AES=m
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_TEA is not set




--- broadcom/src/wl500g-1.9.2.7-d/Makefile.orig>2009-03-02 03:59:53 +0500
+++ broadcom/src/wl500g-1.9.2.7-d/Makefile<---->2009-03-02 04:02:51 +0500
@@ -108,6 +108,7 @@
<----->[ -f $(TOP)/Makefile ] || cp $(SRC)/Makefile $(TOP) && $(PATCHER) $(TOP) Makefile.diff
.
$(TOP)/.config: config
+<----->$(MAKE) -C $(KERNEL_DIR) include/linux/version.h
<----->$(MAKE) -C $(TOP) .config
.
$(ROOT)/lzma/SRC/7zip/Compress:
--- broadcom/src/wl500g-1.9.2.7-d/uClibc/uClibc-0.9.29.config.orig<---->2009-03-04 02:26:42 +0500
+++ broadcom/src/wl500g-1.9.2.7-d/uClibc/uClibc-0.9.29.config<->2009-03-04 02:26:27 +0500
@@ -108,7 +108,7 @@
#
# Networking Support
#
-UCLIBC_HAS_IPV6=y
+#UCLIBC_HAS_IPV6 is not set
UCLIBC_HAS_RPC=y
UCLIBC_HAS_FULL_RPC=y
# UCLIBC_HAS_REENTRANT_RPC is not set

lly
12-03-2009, 07:30
"Раз пошла такая пьянка..." (С)
Предлагаются такие патчи - у меня прошивка давно с ними.
Мне казалось, что ты уже должен был понять, что кидание предложениями без малейших обоснований (типа разбирайтесь сами) я не люблю. То что нравится лично тебе, совершенно не значит, что это понравится всем остальным!

ABATAPA
12-03-2009, 07:34
"Раз пошла такая пьянка..." (С)
Предлагаются такие патчи - у меня прошивка давно с ними.


Еще бы туда kexec-mips, ну, или что-то типа relf.

PS: Да, а почему бы в опциях монтирования не relatime?

ghost_ufa
12-03-2009, 07:46
Мне казалось,

А вот мне казалось что тут вообще все настолько прозрачно, что обоснований не требует. Жаль что ошибся, тогда - пояснения.

1. Ненужное - в модули, нужное не всем, но некоторым полезное - тоже в модули. При этом не ставится вопрос про "остальным" - не нужен модуль так не ставь, модуль в сборке никому не помешает.

2. разрешена запись на NTFS. Кому не нужна - могут не пользоваться.

3. ipv6 отключен в ядре но оставлен в uclibc - вычищено.
ОПять же, вопрос про "остальных" не правомочен.

4. некоторые пакеты для компиляции требуют знания версии ядра - для них хидер с версией генерится до компиляции самого ядра и до всех пакетов. Ни на что не влияет - "остальным" не помешает.

Патчи, нужные ТОЛЬКО мне, я ессно не выкладывал.

lly
12-03-2009, 07:49
PS: Да, а почему бы в опциях монтирования не relatime?
Потому что этой фичи еще нет в 2.4

lly
12-03-2009, 07:59
А вот мне казалось что тут вообще все настолько прозрачно, что обоснований не требует. Жаль что ошибся, тогда - пояснения.

1. Ненужное - в модули, нужное не всем, но некоторым полезное - тоже в модули. При этом не ставится вопрос про "остальным" - не нужен модуль так не ставь, модуль в сборке никому не помешает.

Когда прошивку для ВСЕЙ линейки девайсов будешь поддерживать ты, не вопрос - выноси в модули всё что хочешь (даже без правки rc).

2. разрешена запись на NTFS. Кому не нужна - могут не пользоваться.
аналогично. Ты лично это протестировал? И сколько разделов угробил?

3. ipv6 отключен в ядре но оставлен в uclibc - вычищено.
Пока на скорость не влияет. Была отдалённая мысль вернуть IPV6


4. некоторые пакеты для компиляции требуют знания версии ядра - для них хидер с версией генерится до компиляции самого ядра и до всех пакетов. Ни на что не влияет - "остальным" не помешает.

Это единственное, что понятно и так.

Очень хочу услышать кому в данный момент нужны модули MD5,AES и т.д.

ghost_ufa
12-03-2009, 08:25
Когда прошивку для ВСЕЙ линейки девайсов будешь поддерживать ты, не вопрос - выноси в модули всё что хочешь (даже без правки rc).


Выносить - ладно, дело хозяйское. Но что мешает модули *добавить*? Не, я и дальше могу перед сборкой сорцов свои патчи накладывать, благо все автоматизировано - но ЗАЧЕМ?

К тому же ЕМНИМС проект сей заявлен как пре-альфа версия, а какая в этом случае может быть поддержка? Не пошлО - откатили...

>аналогично. Ты лично это протестировал? И сколько разделов угробил?

Я уже два года как всему отделу раздал бутявые флешки с линухом для снятия паролей на XP, проверки на вирусы, редактирования реестра и прочее - с записью на NTFS. Пока никто ни одного раздела не угробил, а версия драйвера там постарше будет.
На роутере несколько флешек читал-писАл (не заморачиваясь тестированием - они все у меня в NTFS), полет нормальный.

>Пока на скорость не влияет. Была отдалённая мысль вернуть IPV6

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

lly
12-03-2009, 08:38
Но что мешает модули *добавить*? Не, я и дальше могу перед сборкой сорцов свои патчи накладывать, благо все автоматизировано - но ЗАЧЕМ?
Ну так я и хочу понять - надо ли это кому-то кроме тебя?
Поехали:

+CONFIG_KHTTPD=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_AES=m



Я уже два года как всему отделу раздал бутявые флешки с линухом для снятия паролей на XP, проверки на вирусы, редактирования реестра и прочее - с записью на NTFS. Пока никто ни одного раздела не угробил, а версия драйвера там постарше будет.
На роутере несколько флешек читал-писАл (не заморачиваясь тестированием - они все у меня в NTFS), полет нормальный.
У меня опыт обратный - пока эту NTFS юзает только линукс, все нормально. Как только скармливаешь обратно винде, файлам с атрибутами compressed настает звездец, да и некоторым другим тоже.

jan_h
12-03-2009, 08:53
Я уже два года как всему отделу раздал бутявые флешки с линухом для снятия паролей на XP, проверки на вирусы, редактирования реестра и прочее - с записью на NTFS. Пока никто ни одного раздела не угробил, а версия драйвера там постарше будет.


Образом флешки не поделитесь? :rolleyes:

lly
12-03-2009, 09:43
Хочу просуммировать список задач, за которые народ брался, но так и не выполнил :(

Протестировать epoll - таки понять, зря ли мы его добавляли :)
Перенести странички настройки модемов CDMA/GSM из чешской прошивки http://wl500g.info/showpost.php?p=122280&postcount=103
Протестировать NTFS-3g http://wl500g.info/showpost.php?p=133950&postcount=56
Протестировать драйвера модемов IPWireless (ipw.o) и SierraWireless (sierra.o)
Было замечание, что якобы не работает форвардинг маркированных пакетов в случае с несколькими WAN'ами(ключик --set-mark у iptables, fwmark у ip). Однако корректный тестовый пример (например, рабочий на ББ) автор не смог привести...

Dao_Dezi
12-03-2009, 10:07
Я по 3-му пункту поинтересоваться хотел
- Какого типа тестирование? Что тестировать?
- Для NTFS-3g вроде же fuse нужен?

lly
12-03-2009, 11:12
Я по 3-му пункту поинтересоваться хотел
- Какого типа тестирование? Что тестировать?
- Для NTFS-3g вроде же fuse нужен?
Ну так для нашего ядра всё уже собирается :)
Тестировать, как всегда: работоспособность, устойчивость.

Dao_Dezi
12-03-2009, 11:34
Попробую на выходных...

ghost_ufa
12-03-2009, 12:06
Как только скармливаешь обратно винде, файлам с атрибутами compressed настает звездец, да и некоторым другим тоже.

Ок, вот и выяснили точку преткновения :) Я флехи форматирую с крупным кластером, поэтому компрессия на них вообще не работает. Попробую.

Про NTFS-3g тему не видел - обязательно гляну как время будет. Но наверное не просто так DrWEB liveCD идет именно с ним - несколько раз оно читало то, что даже винда отказывалась.

Про остальное - увы :(

theMIROn
12-03-2009, 16:41
2 lly
ну наконец-то tmpfs! А почему без noatime nodiratime? Зачем оно там?
может лучше так:

-<----->mount("ramfs", "/tmp", "ramfs", MS_MGC_VAL, NULL);
+<----->mount("tmpfs", "/tmp", "tmpfs", MS_MGC_VAL | MS_NOATIME | MS_NODIRATIME, NULL);


Может ты и прав, а что скажет общественность? Нужны ли нам обновления access time?
с одной стороны, для софта внутри роутера atime вроде как и не нужно.
список софта, зависящего от atime легко гуглится... с другой стороны это все таки tmpfs, а не файловая система на каком либо носителе. реквизит atime никуда не пропадает, оверхед inode остается тем же самым.
поэтому думаю noatime для tmpfs не особо нужно, т.к выполняется быстро, в отличии от relatime.
С другой стороны, монтировние usb hdd/flash уже выполняется с noatime, и никто не жаловался (я не видел).
Поэтому, имхо, пусть будет с noatime, не будет выполняться "запись" в память. а вот nodiratime вешь достаточно лишняя


void update_atime (struct inode *inode)
{
if (inode->i_atime == CURRENT_TIME)
return;
if (IS_NOATIME(inode))
return;
if (IS_NODIRATIME(inode) && S_ISDIR(inode->i_mode))
return;
if (IS_RDONLY(inode))
return;
inode->i_atime = CURRENT_TIME;
mark_inode_dirty_sync (inode);
}

ghost_ufa
13-03-2009, 05:39
Я отключаю diratime именно из соображений скорости - потому что даже на виртуальной ФС получается заметный оверхед по обработке, а проц-то у нас хилый...

Может тогда дать выбор - например завести в nvram опции монтирования? Тогда и размером играть можно будет.


С другой стороны, монтировние usb hdd/flash уже выполняется с noatime, и никто не жаловался (я не видел).


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

upd: Хм, на цитату из сорцов я и не посмотрел, а по ней судя noatime у нас уже включает в себя и nodiratime. В таком разе ессно одного noatime достаточно. Но вобще это странно - по ману логика другая казалась.

theMIROn
13-03-2009, 07:28
Может тогда дать выбор - например завести в nvram опции монтирования? Тогда и размером играть можно будет.Да как бы... Можно конечно, только кому оно надо, если всегда можно сделать remount -o remount,size=xxx /tmp
tmpfs с дефолтными опциями максимально может занять половину памяти, в моем случае 16 метров.

ABATAPA
13-03-2009, 08:05
Образом флешки не поделитесь? :rolleyes:
http://home.eunet.no/~pnordahl/ntpasswd/
http://www.petri.co.il/forgot_administrator_password.htm

А вообще, Google/Яндекс никто не отменял.

ghost_ufa
13-03-2009, 08:07
только кому оно надо, если всегда можно сделать remount

и то верно...


tmpfs с дефолтными опциями максимально может занять половину памяти

Такое дефолтное значение это очень правильно - когда нет свопа. При наличии свопа размер можно указывать практически произвольно, я 250мб пробовал (своп 256) - работает, хотя и тормозит.

ABATAPA
13-03-2009, 08:07
Я отключаю diratime именно из соображений скорости - потому что даже на виртуальной ФС получается заметный оверхед по обработке,

Результаты тестирования в студию!

ghost_ufa
13-03-2009, 08:14
Тестирование по nodiratime было в СОВЕРШЕННО других условиях - 2.6, HDD, writeback, кэш сквида. И подбирались параметры на максимальную скорость. Ну и... ошибочно результаты были экстраполированы на сюда.

TOYan
14-03-2009, 12:20
Прошил 7d-160, и после этого PPPoE соединение рвется ровно через 1440 минут (24 часа).
Idle disconnect выставлен в 0, провайдер утверждает что он нипричем,
да и на олеговской прошивке такого вроде не наблюдалось.
Подскажите, где подкрутить?


[root@wl500gp root]$ cat /tmp/ppp/options.wan0
noauth refuse-eap
user 'xxxxxxx'
password 'xxxxxxx'
nomppe nomppc
plugin rp-pppoe.so nic-vlan1
mru 1492 mtu 1492
maxfail 0
usepeerdns
persist
ipcp-accept-remote ipcp-accept-local noipdefault
ktune
default-asyncmap nopcomp noaccomp
novj nobsdcomp nodeflate
lcp-echo-interval 10
lcp-echo-failure 6
unit 0
Фрагмент лога:

10:41:10 14-03-2009 (emerg|user|client) client: Synchronizing time with time.nist.gov ...
10:41:29 14-03-2009 (info|daemon|pppd) pppd[131]: Connect time 1440.0 minutes.
10:41:29 14-03-2009 (info|daemon|pppd) pppd[131]: Sent 700036663 bytes, received 20550646 bytes.
10:41:30 14-03-2009 (emerg|user|PPPoE) PPPoE: Disconnected

AlexeyS
14-03-2009, 17:39
Нашел забавный глюк busybox:
заходим в /sbin и запускаем ./fsck.ext3 и... вместо "No help available" получаем хелп от другого аплета...
Несколько раз пересмотрел исходники.... ну, ни как такого не должно быть :(

lly
14-03-2009, 18:21
Нашел забавный глюк busybox:
заходим в /sbin и запускаем ./fsck.ext3 и... вместо "No help available" получаем хелп не от другого аплета...
Несколько раз пересмотрел исходники.... ну, ни как такого не должно быть :(
Upd: Не, похоже это сам busybox глючит :( Вообщем искать надо


Прошил 7d-160, и после этого PPPoE соединение рвется ровно через 1440 минут (24 часа).

И само не восстанавливается? На прошивке Олега 10.7 такого точно нет?

AlexeyS
14-03-2009, 21:02
Upd: Не, похоже это сам busybox глючит :( Вообщем искать надо


Я отбросил все текущие патчи, кроме возврата e2fsprogs и глюк с usage пропал... осталось вычислить глючный патч...

Upd: это 100-busybox.patch... ищу дальше...

lly
14-03-2009, 21:29
Upd: это 100-busybox.patch... ищу дальше...
Это переименование httpd в busybox_httpd, но ПОЧЕМУ? :confused:

AlexeyS
14-03-2009, 21:39
а еще, у меня на стационарной сборке fsck падает... на роутере пока не проверял...

theMIROn
15-03-2009, 00:10
Нашел забавный глюк busybox:
заходим в /sbin и запускаем ./fsck.ext3 и... вместо "No help available" получаем хелп от другого аплета...
Несколько раз пересмотрел исходники.... ну, ни как такого не должно быть :(

Это переименование httpd в busybox_httpd, но ПОЧЕМУ? :confused:
хех, таким образом глючили все апплеты начиная с cat по hostname включительно. а все написано в шапке applets.h =)


* It is CRUCIAL that this listing be kept in ascii order, otherwise the binary
* search lookup contributed by Gaute B Strokkenes stops working. If you value
* your kneecaps, you'll be sure to *make sure* that any changes made to this
* file result in the listing remaining in ascii order. You have been warned.
исправил в r184. возможно это пофиксит и проблемы с запуском апплетов из pre-shutdown при пепепрошивке из web интерфейса

TOYan
15-03-2009, 01:41
И само не восстанавливается? На прошивке Олега 10.7 такого точно нет?После разрыва соединение автоматически восстанавливается, но IP-адрес выдается уже другой, что влечет за собой некоторые осложнения.
Вот что еще накопал: 1440 минут = 86400 секунд. Исследуем nvram:

[root@wl500gp root]$ nvram show |grep 86400
size: 10773 bytes (21995 left)
wan_lease=86400
dhcp_lease=86400
lan_lease=86400
wan0_lease=86400
Видимо надо выставить в 0 все эти переменные?
Или это может привести к каким-либо проблемам?

lly
15-03-2009, 05:50
После разрыва соединение автоматически восстанавливается, но IP-адрес выдается уже другой, что влечет за собой некоторые осложнения.
Во! Похоже провайдер не подтверждает аренду твоего старого IP адреса - отсюда и переустановка соединения. Переменные обнулять бессмысленно - они не могут управлять провайдером.

P.S. Ты не ответил как дело обстоит 10.7

al37919
15-03-2009, 06:03
24 часа при PPPoE соединении (ADSL?) --- очень похоже на ежесуточный разрыв связи провайдером, связанный с тарификацией.

msevm
15-03-2009, 06:51
Есть ли надежда на улучшение положения BCM5354 с текущим бекпортом EHCI? Или траблы на уровне OHCI?
Не могли бы Вы выложить снапшот?

lly
15-03-2009, 07:18
Есть ли надежда на улучшение положения BCM5354 с текущим бекпортом EHCI? Или траблы на уровне OHCI?
Ничего не понял, какие именно "траблы"?

Не могли бы Вы выложить снапшот?
Дотестируем и выложим.

P.S. Посмотри в SVN updates, может твой ответ там?

msevm
15-03-2009, 10:30
У меня они проявляются в нестабильности работы накопителей через хаб usb 2.0, приводящей к перезагрузке роутера при длительном интенсивном обращении к ним. Без хаба - ок.
Чисто аппаратные проблемы исключены (разные накопители, хабы, схемы питания в т.ч. отключение защиты... результат одинаков, на v1 всё - ок). Отключение ehci так же не исправляет проблему.
В syslog ничего попасть не успевает, к сожалению консоль я кажется уже прибил.
З.Ы. Да, простите, DIR-320 (BCM5354, rev 3).

lly
15-03-2009, 10:38
У меня они проявляются в нестабильности работы накопителей через хаб usb 2.0, приводящей к перезагрузке роутера при длительном интенсивном обращении к ним. Без хаба - ок.
Для каких-нибудь выводов мало информации. К тому же без хаба ты можешь подключить только одно устройство. Нужны либо логи с ошибками, либо Oops ядра с консоли и т.п.

Чисто аппаратные проблемы исключены
З.Ы. Да, простите, DIR-320 (BCM5354, rev 3).
А вот здесь я не согласен, кто может поручиться в отсутствии аппаратных проблем в самом роутере?

gekk
15-03-2009, 13:44
А можно в этой прошивке поменять место хранения syslog.log?
Например, чтобы он хранился \opt\var\log\ или надо ставить syslog-ng?

theMIROn
15-03-2009, 13:48
А можно в этой прошивке поменять место хранения syslog.log?
Например, чтобы он хранился \opt\var\log\ или надо ставить syslog-ng?
можно, как и в любой другой, основанной на прошивке Олега.
нужно убить syslogd и запустить его с другими параметрами

theMIROn
15-03-2009, 18:50
1.9.2.7-d r191 builds (http://code.google.com/p/wl500g/downloads/list)

Mexanikkmm
15-03-2009, 22:58
прошил Вашей прошивкой, однако заострил внимание на одном моменте. Живу в Петербурге, и в настройках будучи еще на 10 прошивке Олега стоял часовой пояс +3 (в летнее время), однако если сейчас поставить +3 (сейчас зимнее время) то показывает все равно на час больше, если же выставляю +2 (Ukraine) то становится текущее время, хотя по логике вещей сейчас +4 должно быть

Dao_Dezi
16-03-2009, 03:28
Так и не получилось поковырять ntfs-3g на выходных. Насыщенные были.

Зато сегодня словил 1 overrun в option сразу после загрузки на Д-Линке.

И никак не могу поднять скорость Wi-Fi выше 300 килобайт/с на Премиуме первом. Замучился настройками играться. Есть у уого-нить рабочие настройки для первого премиума?

TOYan
16-03-2009, 05:29
Во! Похоже провайдер не подтверждает аренду твоего старого IP адреса - отсюда и переустановка соединения. Переменные обнулять бессмысленно - они не могут управлять провайдером.

Все так и есть. С третьего звонка провайдеру удалось выяснить, что ежесуточный разрыв соединения - это нововведение провайдера. Видимо они так решили дополнительно замотивировать клиентов на покупку статического адреса. Просто это нововведение магическим образом совпало с моим переходом на 7d, и я начал спрашивать здесь. Спасибо за ваши ответы, извините за напрасное беспокойство, вопрос закрыт.

theMIROn
16-03-2009, 08:27
есть некоторые мысли по разметки флеша, большая просьба выложить тут вот этот кусок из /tmp/syslog.log


Jan 1 05:00:02 kernel: Flash device: 0x800000 at 0x1c000000
Jan 1 05:00:02 kernel: Physically mapped flash: squashfs filesystem found at block 908
Jan 1 05:00:02 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 05:00:02 kernel: 0x00000000-0x00040000 : "boot"
Jan 1 05:00:02 kernel: 0x00040000-0x007f0000 : "linux"
Jan 1 05:00:02 kernel: 0x000e3074-0x007f0000 : "rootfs"
Jan 1 05:00:02 kernel: 0x007f0000-0x00800000 : "nvram"
Jan 1 05:00:02 kernel: 0x003e0000-0x007f0000 : "flashfs"

и вывод cat /proc/mtd


dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "linux"
mtd2: 0070cf8c 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00410000 00010000 "flashfs"

на 1.9.2.7-d и олеговских прошивках

lly
16-03-2009, 08:40
есть некоторые мысли по разметки флеша, большая просьба выложить тут вот этот кусок из /tmp/syslog.log
Ты хочешь это место причесать? Там в некритичных местах дефолтовые значения. А великий смысл?

theMIROn
16-03-2009, 08:47
Ты хочешь это место причесать? Там в некритичных местах дефолтовые значения. А великий смысл?
возможно я и ошибаюсь, но этот динамический офсет rootfs может и приводить к squashfs error при перепрошивке из web интерфейса и зависаниям при выполнении pre-shutdown. да и теоретически можно записью в mtd2 затереть/попортить flashfs
с 1.9.2.7 все было четко, 0x000e4000-0x007f0000 : "rootfs"

p.s думаю еще над вариантом выполнения pre-shutdown перед записью прошивки, либо копированием оригинальной rootfs куданибудь в /tmp/root и chroot'а потом, памяти должно хватить

lly
16-03-2009, 09:33
возможно я и ошибаюсь, но этот динамический офсет rootfs может и приводить к squashfs error при перепрошивке из web интерфейса и зависаниям при выполнении pre-shutdown.
Я ошибки squashfs наблюдал только на роутере с нехваткой памяти, т.е. когда файловый кэш почти весь вытеснился.

p.s думаю еще над вариантом выполнения pre-shutdown перед записью прошивки, либо копированием оригинальной rootfs куданибудь в /tmp/root и chroot'а потом, памяти должно хватить
На мой взгляд, первое правильнее. Т.к. в случае с роутерами с общей памятью 16M места может быть совсем в обрез или не хватить. Считай сам:
4M - прошиваемый образ
4M - rootfs
3M - ядро
а еще стэк, busybox(init), и прочее

Да и нет у нас задачи на SOHO роутере обеспечить доступность 99,9999% :)

theMIROn
16-03-2009, 09:48
Я ошибки squashfs наблюдал только на роутере с нехваткой памяти, т.е. когда файловый кэш почти весь вытеснился.Ну да, возможно так и есть... В свеже-загруженном прошивка проходит без зависаний на busybox, но все таки со squashfs errors. Нервирует однако )
В любом случае, я хочу понять, почему rootfs не мапится по границе стираемого блока?
p.s сорца на работе нет.


На мой взгляд, первое правильнее. Т.к. в случае с роутерами с общей памятью 16M места может быть совсем в обрез или не хватить.Угу, только rootfs 3 метра.


Да и нет у нас задачи на SOHO роутере обеспечить доступность 99,9999% :)Поэтому и перепрошиваться лучше через tftp.

al37919
16-03-2009, 10:39
мне представляется, что простым выходом было бы выдрать из rc прошивалку и слинковать ее статически. Перед запуском скопировать ее в /tmp и запускать оттуда. В принципе, я ее уже сделал, но она все же зависит от

libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ab7e000)
libc.so.0 => /lib/libc.so.0 (0x2abcd000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000
избавиться от этого моих познаний не хватает...

вот данные дла 1.9.2.7-d-r156 (wl500gPv1)


Flash device: 0x800000 at 0x1c000000
Physically mapped flash: squashfs filesystem found at block 906
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "boot"
0x00040000-0x007f0000 : "linux"
0x000e28f0-0x007f0000 : "rootfs"
0x007f0000-0x00800000 : "nvram"
0x003e0000-0x007f0000 : "flashfs"


dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "linux"
mtd2: 0070d710 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00410000 00010000 "flashfs"


Поэтому и перепрошиваться лучше через tftp.

имхо, шиться через ssh очень удобно --- нормальный progress bar, можно шиться и по проводам и по беспроводу, локально или удаленно. Единственный минус при использовании flash и write --- риск указать /dev/mtd/0 с вытекающими. Так что у такой прошивалки не должно быть этого параметра.

theMIROn
16-03-2009, 10:48
мне представляется, что простым выходом было бы выдрать из rc прошивалку и слинковать ее статически. Перед запуском скопировать ее в /tmp и запускать оттуда.А смысл? Перед запуском оно и так полностью читается в память и отрабатывает нормально.

ghost_ufa
16-03-2009, 12:09
wl500gp1 прошивка на сейчас - 10-d.161 с некими невлияющими тут отклонениями.

syslog.log

Jan 1 05:00:03 kernel: Flash device: 0x800000 at 0x1c000000
Jan 1 05:00:03 kernel: Physically mapped flash: squashfs filesystem found at block 838
Jan 1 05:00:03 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 05:00:03 kernel: 0x00000000-0x00040000 : "boot"
Jan 1 05:00:03 kernel: 0x00040000-0x007f0000 : "linux"
Jan 1 05:00:03 kernel: 0x000d1b64-0x007f0000 : "rootfs"
Jan 1 05:00:03 kernel: 0x007f0000-0x00800000 : "nvram"
Jan 1 05:00:03 kernel: 0x003e0000-0x007f0000 : "flashfs"


cat /proc/mtd


dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "linux"
mtd2: 0071e49c 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00410000 00010000 "flashfs"


И коли руки дошли до сюда - еще раз пытаюсь уговорить подумать про еще один раздел...

asp
16-03-2009, 13:10
V2 c 10.7

Jan 1 03:00:04 kernel: Flash device: 0x800000 at 0x1c000000
Jan 1 03:00:04 kernel: Physically mapped flash: squashfs filesystem found at block 785
Jan 1 03:00:04 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 03:00:04 kernel: 0x00000000-0x00020000 : "boot"
Jan 1 03:00:04 kernel: 0x00020000-0x007f0000 : "linux"
Jan 1 03:00:04 kernel: 0x000c4714-0x007f0000 : "rootfs"
Jan 1 03:00:04 kernel: 0x007f0000-0x00800000 : "nvram"
Jan 1 03:00:04 kernel: 0x003c0000-0x007f0000 : "flashfs"



dev: size erasesize name
mtd0: 00020000 00010000 "boot"
mtd1: 007d0000 00010000 "linux"
mtd2: 0072b8ec 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00430000 00010000 "flashfs"

multiplug
16-03-2009, 15:08
dmesg | grep 0x00

0x00000000-0x00040000 : "boot"
0x00040000-0x003f0000 : "linux"
0x000e2978-0x003f0000 : "rootfs"
0x003f0000-0x00400000 : "nvram"
0x003e0000-0x003f0000 : "flashfs"

cat /proc/mtd

dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 003b0000 00010000 "linux"
mtd2: 0030d688 00010000 "rootfs"
mtd3: 00010000 00002000 "nvram"
mtd4: 00010000 00010000 "flashfs"

WL500gpv2-1.9.2.7-d174.trx

Mexanikkmm
16-03-2009, 15:15
а с временем что? часовые пояса :(

bmenee
16-03-2009, 15:17
/tmp/syslog.log


Jan 1 03:00:03 kernel: Flash device: 0x800000 at 0x1c000000
Jan 1 03:00:03 kernel: Physically mapped flash: squashfs filesystem found at block 906
Jan 1 03:00:03 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 03:00:03 kernel: 0x00000000-0x00040000 : "boot"
Jan 1 03:00:03 kernel: 0x00040000-0x007f0000 : "linux"
Jan 1 03:00:03 kernel: 0x000e28d0-0x007f0000 : "rootfs"
Jan 1 03:00:03 kernel: 0x007f0000-0x00800000 : "nvram"
Jan 1 03:00:03 kernel: 0x003e0000-0x007f0000 : "flashfs"

cat /proc/mtd


dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "linux"
mtd2: 0070d730 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00410000 00010000 "flashfs"

WL500gp-1.9.2.7-d-r160.trx

TOYan
16-03-2009, 15:22
WL500gpv2-1.9.2.7d-191:

Jan 1 06:00:02 kernel: Flash device: 0x800000 at 0x1c000000
Jan 1 06:00:02 kernel: Physically mapped flash: squashfs filesystem found at block 780
Jan 1 06:00:02 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 06:00:02 kernel: 0x00000000-0x00020000 : "boot"
Jan 1 06:00:02 kernel: 0x00020000-0x007f0000 : "linux"
Jan 1 06:00:02 kernel: 0x000c3074-0x007f0000 : "rootfs"
Jan 1 06:00:02 kernel: 0x007f0000-0x00800000 : "nvram"
Jan 1 06:00:02 kernel: 0x003c0000-0x007f0000 : "flashfs"


dev: size erasesize name
mtd0: 00020000 00010000 "boot"
mtd1: 007d0000 00010000 "linux"
mtd2: 0072cf8c 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00430000 00010000 "flashfs"

bmenee
16-03-2009, 15:26
/tmp/syslog.log


Jan 1 03:00:03 kernel: Flash device: 0x800000 at 0x1c000000
Jan 1 03:00:03 kernel: Physically mapped flash: squashfs filesystem found at block 908
Jan 1 03:00:03 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 03:00:03 kernel: 0x00000000-0x00040000 : "boot"
Jan 1 03:00:03 kernel: 0x00040000-0x007f0000 : "linux"
Jan 1 03:00:03 kernel: 0x000e3074-0x007f0000 : "rootfs"
Jan 1 03:00:03 kernel: 0x007f0000-0x00800000 : "nvram"
Jan 1 03:00:03 kernel: 0x003e0000-0x007f0000 : "flashfs"

cat /proc/mtd


dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "linux"
mtd2: 0070cf8c 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00410000 00010000 "flashfs"

WL500gp-1.9.2.7-d-r191.trx

Vampik
16-03-2009, 15:38
WL500gpv2-1.9.2.7-d-r191.trx на DIR-320.

Jan 1 03:00:02 kernel: Flash device: 0x400000 at 0x1c000000
Jan 1 03:00:02 kernel: Physically mapped flash: squashfs filesystem found at block 908
Jan 1 03:00:02 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 03:00:02 kernel: 0x00000000-0x00040000 : "boot"
Jan 1 03:00:02 kernel: 0x00040000-0x003f0000 : "linux"
Jan 1 03:00:02 kernel: 0x000e3074-0x003f0000 : "rootfs"
Jan 1 03:00:02 kernel: 0x003f0000-0x00400000 : "nvram"
Jan 1 03:00:02 kernel: 0x003e0000-0x003f0000 : "flashfs"


dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 003b0000 00010000 "linux"
mtd2: 0030cf8c 00010000 "rootfs"
mtd3: 00010000 00002000 "nvram"
mtd4: 00010000 00010000 "flashfs"

theMIROn
16-03-2009, 15:54
все, спасибо. "горшочек, не вари" ;)

theMIROn
16-03-2009, 16:28
а с временем что? часовые пояса :(
пока можно прописать в скрипт flashfs /usr/local/sbin/pre-boot


#!/bin/sh
TZ="YEKT-5YEKST,M3.5.0,M10.5.0/3"
[ "$TZ" != "$(nvram get time_zone)" ] && nvram set time_zone="$TZ"
echo "$TZ" > /etc/TZ

для москвы/питера будет TZ="MSK-3MSD,M3.5.0,M10.5.0/3"

oleg71
17-03-2009, 08:55
lly

<<Зависшие задачки
Хочу просуммировать список задач, за которые народ брался, но так и не выполнил...

Перенести странички настройки модемов CDMA/GSM из чешской прошивки...>>

Спасибо за твой труд!
Очень было бы отлично! У некоторых (как я :) ) usb 3G модем
единственный способ подключения,
не бросайте нас, гуру :)
чешская тоже ничего, но хотелось бы всех вкусностей...

Vampik
17-03-2009, 19:41
Вопрос к разработчикам данной модификации - можно как-нибудь пофиксить индикаторы Status и Air на DIR-320? Сейчас прошита последняя версия 1.9.2.7-d r191, Status загорается при загрузке, потом снова гаснет, а Air не горит при включенном Wi-Fi (но мигает при активности). При этом, если вручную включать и выключать Wi-Fi командами wl radio on и wl radio off, то при включенном Wi-Fi все-таки загорается индикатор, но не Air, а Status. Судя по исходникам, пару месяцев назад уже добавляли в прошивку настройки vlan вместе с параметрами кнопок и индикатора (ready_mask ведь к индикатору Status относится?).. Готов что-либо протестировать в случае необходимости.

lly
18-03-2009, 07:24
Вопрос к разработчикам данной модификации - можно как-нибудь пофиксить индикаторы Status и Air на DIR-320?
Теоретически - да. Практически:

Status) я постил в соответствующей ветке pwrled с просьбой проверить. Ответа не пришло ни одного! :( Отсюда я сделал вывод, что сей вопрос никому не интересен.

Air) всё гораздо сложнее - им управляет broadcom'овский драйвер. В своё время Олег публиковал команды изменения маски в регистрах чипсета, надо искать соответствие в DIR-320. Но, ни самого девайса, ни доки у меня нет.

lly
18-03-2009, 07:29
Перенести странички настройки модемов CDMA/GSM из чешской прошивки

не бросайте нас, гуру :)

Увы, не все так просто. Я могу сделать так, чтобы этот патч накладывался на текущее дерево, но проверить не смогу за неимением модема. Т.е. всё равно нужен человек, который сможет довести патч до рабочего состояния... Удалённо это практически нереально.

Vampik
18-03-2009, 08:28
Status) я постил в соответствующей ветке pwrled с просьбой проверить.
Да, видел, только он уже удален. Здесь, видимо, вопрос простой - если я правильно понял, нужно узнать, какой именно бит в /dev/gpio/out отвечает за нужный индикатор? Если запостите ещё раз, могу проверить. К сожалению, не знаю, как самостоятельно скомпилировать программу для роутера. :(

lly
18-03-2009, 09:28
Здесь, видимо, вопрос простой - если я правильно понял, нужно узнать, какой именно бит в /dev/gpio/out отвечает за нужный индикатор?
Именно так, и еще - инверсная или прямая логика. Т.е. по on - включено, а по off - выключено.

Vampik
18-03-2009, 09:48
pwrled off включает индикатор Status, pwrled on - выключает его.

lly
18-03-2009, 10:01
Vampik
пробуй исправленный вариант

Vampik
18-03-2009, 10:10
lly
Теперь правильно, on - включено, off - выключено.

lly
18-03-2009, 10:26
Ok, вечером выложу изменения в SVN.

Vampik
18-03-2009, 13:14
Ещё по поводу DIR-320.

VLAN.


+ /* fix DLINK DIR-320 vlans */
+ if (nvram_match("boardtype", "0x048e") && !nvram_match("boardnum", "45") &&
+ !nvram_get("vlan2hwname"))
+ {
+ nvram_set("vlan2hwname", "et0");
+ nvram_set("wan0_ifnames", "vlan2");
+ nvram_set("wan0_ifname", "vlan2");
+ nvram_set("wan_ifnames", "vlan2");
+ nvram_set("wan_ifname_t", "vlan2");
+ nvram_set("wan_ifname", "vlan2");
+ nvram_set("wandevs", "vlan2");
+ }

Что-то тут не то. После сброса получаю такие настройки:

vlan2hwname=et0
wan0_ifname=
wan0_ifnames=
wan_ifnames=
wan_ifname_t=
wan_ifname=
wandevs=et0

MAC.

Я нашел, где хранится MAC - в области nvram. Настройки прошивки Asus лежат по адресу 0x8000, а на 0x6000 - настройки загрузчика D-Link:

hwrev=2B1
countrycode=GB
lanmac=00:1b:xx:xx:xx:74
lan2mac=00:1b:xx:xx:xx:75
wanmac=00:1b:xx:xx:xx:76
pin=xxxxxxxx
flashspeed=1042
lan2mac - MAC для Guest Zone, pin - пин-код по умолчанию для WCN, ни то, ни другое для нас не актуально :) остальное понятно из названия. В аттаче картинка для наглядности.

lly
18-03-2009, 13:31
Глянул я таки на несмигрированную часть от чешской прошивки - по большей части это решение на скорую руку :( с заточкой под то, что основным будет канал CDMA/GSM, а драйвера модемов из бинарников с koppel.cz. В таком виде использовать это в нашей прошивке невозможно. Таким образом, требуется энтузиаст который осилит перелопатить интерфейс и dial скрипты.

По патчам - я разбил cdma.diff из своего предыдущего письма (http://wl500g.info/showpost.php?p=122280&postcount=103):

cdma-ppp.diff - патч на dial, добавлю сам - здесь всё четко и понятно
cdma-rc.diff - патч на rc, накладывается на текущие исходники, но требует серьезного осмысления
cdma-misc.diff - добавление новых переменных, часть из них дублируют по смыслу друг друга :mad: , но сильно завязаны на web-часть, поэтому не стал ничего удалять
cdma-www.diff - патч на существующую web-часть, не накладывается и также требует осмысления

остаётся еще довесок в виде части web страничек и кучи скриптов cdma.tar.gz из дистрибутива usb-1.9.2.7-10-USB-1.71.tar.gz (http://koppel.cz/cdmawifi/download/171/usb-1.9.2.7-10-USB-1.71.tar.gz)...

Updated: тут всем лениво - постарался человек с английского форума - см. продолжение http://wl500g.info/showthread.php?p=170955

lly
18-03-2009, 13:58
Ещё по поводу DIR-320.
Что-то тут не то.
Очень даже может быть. Этот код добавлял вслепую без девайса. Делать огромные workaround'ы для dlink'а не хотелось бы. Есть конкретные предложения (желательно протестированные на устройстве)?

m0xf
18-03-2009, 14:12
Что-то тут не то. После сброса получаю такие настройки:

Не выполняется последнее условие (!nvram_get("vlan2hwname")). Следующие насройки находятся в загрузчике dir-320, и переносятся в nvram при сбросе. vlan2hwname там определён.


boardtype=0x048e
boardnum=
boardrev=0x35
boardflags=0x750
sromrev=3
clkfreq=240
xtalfreq=25000
sdram_init=0x000b
sdram_config=0x0062
sdram_refresh=0
sdram_ncdl=0
et0macaddr=00:90:4c:c0:
et0phyaddr=30
et0mdcport=0
wl0id=0x4318
il0macaddr=00:90:4c:c1:
aa0=3
ag0=2
pa0maxpwr=72
pa0itssit=62
pa0b0=0x129f
pa0b1=0xfb6C
pa0b2=0xfe99
opo=12
bxa2g=1
rssismf2g=0
rssismc2g=2
rssisav2g=2
tri2g=78
rxpo2g=0xfff8
parefldovoltage=0x28
wl0gpio0=255
wl0gpio1=255
wl0gpio2=255
wl0gpio3=255
cctl=0
ccode=0
vlan0hwname=et0
vlan0ports=1 2 3 4 5*
vlan2hwname=et0
vlan2ports=0 5t
landevs=vlan0 wl0
wandevs=et0
lan_ipaddr=192.168.0.1
lan_netmask=255.255.255.0
boot_wait=on
reset_gpio=7
watchdog=3000

lly
18-03-2009, 14:24
Не выполняется последнее условие (!nvram_get("vlan2hwname")). Следующие насройки находятся в загрузчике dir-320, и переносятся в nvram при сбросе. vlan2hwname там определён.
О! это ценная инфа, а не подскажешь ли что лучше прописать в условии, чтобы не пересечься с d-link'овским загрузчиком?

SeSte
18-03-2009, 14:30
Драстье всем, извените за дерзость, но не мог ли кто-нибудь скомпилировать драйверочек для веб камеры logitech под ядро 2.4.37 ... нету рядом машины с линуксом =(

Вот ссылочка, думаю многим будет полезно =)

http://qce-ga.sourceforge.net/

-----
The qc-usb driver is known to work with the following webcams:

Dexxa Webcam
Labtec Webcam (old model)
LegoCam
Logitech QuickCam Express (old model)
Logitech QuickCam Notebook (some models)
Logitech QuickCam Web

Vampik
18-03-2009, 14:33
Не выполняется последнее условие (!nvram_get("vlan2hwname"))
Да, я тоже уже заметил.

m0xf
18-03-2009, 14:52
О! это ценная инфа, а не подскажешь ли что лучше прописать в условии, чтобы не пересечься с d-link'овским загрузчиком?
В загрузчиках, которые asus выложил в архиве с исходниками своей прошивки, boardtype=0x48E boardnum=45. В dlink в первом параметре добавлен 0, второй не определён. ИМХО первых двух условий должно хватить. Да, nvram_get точно возвращает 0 когда значение параметра пустая строка? Или он вернёт указатель на пустую строку?

lly
18-03-2009, 14:54
m0xf
Смысл доп. условия (!nvram_get("vlan2hwname")) именно в реакции на сброс в default. В ASUS'е это работает, а вот в d-link видишь дало сбой...

Vampik
18-03-2009, 15:12
Я бы написал так:


if (nvram_match("boardtype", "0x048e") && nvram_match("boardnum", "") && nvram_match("boardrev", "0x35") && nvram_match("wandevs", "et0"))

только не уверен насчет nvram_match("boardnum", "") - оно так сработает?

m0xf
18-03-2009, 15:55
m0xf
Смысл доп. условия (!nvram_get("vlan2hwname")) именно в реакции на сброс в default. В ASUS'е это работает, а вот в d-link видишь дало сбой...
Тогда понятно. Для проверки на сброс можно использовать проверку на наличие любого из устанавливаемых параметров, которые не определены в загрузчике (wan0_ifname, wan0_ifnames, wan_ifnames, wan_ifname_t, wan_ifname). Получится какраз то, что нужно - установка параметров выполнится 1 раз, после сброса.

lly
18-03-2009, 17:31
Для проверки на сброс можно использовать проверку на наличие любого из устанавливаемых параметров, которые не определены в загрузчике (wan0_ifname, wan0_ifnames, wan_ifnames, wan_ifname_t, wan_ifname). Получится какраз то, что нужно - установка параметров выполнится 1 раз, после сброса.
Ну давай попробуем c "wan_ifname" - закомиттил r195

Vampik
19-03-2009, 14:58
Это нормально, если самостоятельно скомпилированная прошивка получается меньше по размеру? r191 весит 3.58Мб, я попробовал собрать r196 по инструкции, получилось 3.47Мб на Дебиане и 3.46Мб на Кубунту.. :confused: Прошивать ещё не пробовал..

lly
19-03-2009, 15:04
tcpdump пакуется отдельно

Vampik
20-03-2009, 00:54
Ок, поиском по теме разобрался с tcpdump и scsi-startstop. Проверил r197 - Status горит, при ресете настройки vlan устанавливаются верно. :) Для красоты можно убрать строчку nvram_set("vlan2hwname", "et0");, т.к. этот параметр уже есть, и nvram_set("wan_ifname_t", "vlan2");, т.к. она не имеет смысла, wan_ifname_t все равно устанавливается в зависимости от настроек подключения.

Vampik
20-03-2009, 17:41
Вот, сделал фикс для индикатора Air в DIR-320 (там, кстати, тоже обратная полярность по сравнению с Асусом). В аттаче дифф относительно r197.

lly
20-03-2009, 18:12
Vampik
Добавил, единственно не стал менять !nvram_match("boardnum", "45")

Vampik
21-03-2009, 11:12
Можно добавить еще один важный патч для DIR-320? Я уже писал, что заводская конфигурация хранится в области nvram. Данный патч предотвращает удаление заводской конфигурации при стирании nvram средствами прошивки. На девайсе проверено.

lly
21-03-2009, 11:55
Можно добавить еще один важный патч для DIR-320? Я уже писал, что заводская конфигурация хранится в области nvram. Данный патч предотвращает удаление заводской конфигурации при стирании nvram средствами прошивки. На девайсе проверено.
Нам еще важно чтобы не сломалось у всех остальных!
Давай тогда объясняй, откуда взялись такие странные константы для проверки? Раскладка mtd у DIR-320 стандартная?

P.S. erasesize всегда будет равен 0x2000 для данного типа флэша

Vampik
21-03-2009, 12:19
Нам еще важно чтобы не сломалось у всех остальных!
Давай тогда объясняй, откуда взялись такие странные константы для проверки? Раскладка mtd у DIR-320 стандартная?

P.S. erasesize всегда будет равен 0x2000 для данного типа флэша

erasesize 0x2000 только у раздела nvram, у остальных разделов 0x10000 (я постил /proc/mtd в этой теме).
Размер раздела 0x10000, у Асусов настройки находятся на 0x8000-0xFFFF, у Длинка - заводские параметры на 0x6000, идентифицировать их можно по "RGCFG1".
Соответственно, алгоритм простой. Если размер раздела 0x10000, а erasesize 0x2000, проверяем смещение 0x6000 - если там "RGCFG1", то это точно DLINK, тогда стираем только 0x8000-0xFFFF. В остальных случаях без изменений - стирается весь раздел.

Для остальных все равно ничего не сломается, т.к. кроме size и erasesize проверяется сигнатура.

theMIROn
21-03-2009, 14:13
lly, Vampik, имхо это очень-очень логически неверно, делать костыль, при стирании(!) проверяющий(!) и корректирующий(!) область стирания nvram
а что,если бы у них были одинаковые области хранения nvram с различным форматом? корректнее будет просто сохранить nvram DLink перед перепрошивкой.

или предлагаю вынести подобного рода фиксы в отдельный таргет DIR320 и собирать прошивку под конкретный девайс

msevm
21-03-2009, 14:20
nftables имеет для наших девайсов смысл?
http://marc.info/?l=linux-netdev&m=123735060618579&w=2

lly
21-03-2009, 15:16
lly, Vampik, имхо это очень-очень логически неверно, делать костыль, при стирании(!) проверяющий(!) и корректирующий(!) область стирания nvram
Согласен. Я пытался выяснить - это защита от дурака или что?
По хорошему тогда надо пересматривать разметку nvram для DIR-320...


nftables имеет для наших девайсов смысл?
так-же как и ядро 2.6 - теоретический :rolleyes:

Vampik
21-03-2009, 16:21
Согласен, что логически неверно. Просто я исходил из

Делать огромные workaround'ы для dlink'а не хотелось бы.

Посмотрел в вики от openwrt, там есть бутлог, с такой разбивкой:

0x000f0080-0x003a6080 : "rootfs"
0x00040000-0x003e0000 : "upgrade"
0x00030000-0x00040000 : "rgdb"
0x003f6000-0x003f8000 : "bdcfg"
0x003e0000-0x003f0000 : "langpack"
0x00000000-0x00400000 : "flash"
0x00000000-0x00030000 : "Boot"
0x003f8000-0x00400000 : "nvram"

В Асусе 0x003f0000-0x00400000, но реально используется только 0x003f8000-0x00400000.

P.S. В DIR-330 все просто и понятно.. "boot", "linux", "rootfs", "factory", "nvram". factory на месте нашей flashfs. А в 320 что-то намудрили..

m0xf
21-03-2009, 19:02
В cfe (0x00000000-0x00040000) по смещению 0x30000 также имеется блок "RGCFG1". Получается их два? Они одинаковые?

angel_il
21-03-2009, 19:08
Драстье всем, извените за дерзость, но не мог ли кто-нибудь скомпилировать драйверочек для веб камеры logitech под ядро 2.4.37 ... нету рядом машины с линуксом =(


Драсте, вот ссылочка если рядом нет машины с линуксом http://code.google.com/p/wl500g/wiki/colinux

Vampik
21-03-2009, 19:14
В cfe (0x00000000-0x00040000) по смещению 0x30000 также имеется блок "RGCFG1". Получается их два? Они одинаковые?

0x00030000-0x00040000 : "rgdb"

0x003f6000-0x003f8000 : "bdcfg"
В 0x003f6000 factory settings, в 0x00030000 не знаю что, там не текстовые данные.

Есть вариант, чтобы nvram не наезжал на bdcfg, имхо не зря там локальный erasesize 0x2000.. сейчас протестирую патч..
Жаль D-LINK выложил исходники прошивки только от DIR-330, там нормальные разделы по 0x10000, а не 0x8000 и 0x2000.

lly
21-03-2009, 19:21
angel_il
Я ему уже скомпилил, но как подавляющее большинство "хотельщиков", он свалил в туман :mad:
http://wl500g.info/showpost.php?p=137466&postcount=2

Vampik
21-03-2009, 19:57
Что насчет вот этого?

Jan 1 03:00:02 kernel: Flash device: 0x400000 at 0x1c000000
Jan 1 03:00:02 kernel: Physically mapped flash: squashfs filesystem found at block 908
Jan 1 03:00:02 kernel: Creating 5 MTD partitions on "Physically mapped flash":
Jan 1 03:00:02 kernel: 0x00000000-0x00040000 : "boot"
Jan 1 03:00:02 kernel: 0x00040000-0x003f0000 : "linux"
Jan 1 03:00:02 kernel: 0x000e3004-0x003f0000 : "rootfs"
Jan 1 03:00:02 kernel: 0x003f8000-0x00400000 : "nvram"
Jan 1 03:00:02 kernel: 0x003e0000-0x003f0000 : "flashfs"

dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 003b0000 00010000 "linux"
mtd2: 0030cffc 00010000 "rootfs"
mtd3: 00008000 00002000 "nvram"
mtd4: 00010000 00010000 "flashfs"

При создании раздела nvram учитывается локальный erasesize. Код функции взят из mtdpart.c. Даже если где-либо найдется Asus с локальным erasesize 0x2000 для раздела nvram, на работоспособность это не повлияет - все равно используются только последние NVRAM_SPACE байт.

lly
22-03-2009, 13:09
Что насчет вот этого?
Надо подумать.

Код функции взят из mtdpart.c.
Оригинального из ядра или broadcom?

Vampik
22-03-2009, 13:24
Из 2.4.37.

IvAnZ
22-03-2009, 14:39
Искал по форуму, весь этот топик правда не перерывал, ответа так и не нашел
патчи на http://code.google.com/p/wl500g/
602-netfilter_layer7_2.1nbd.patch
616-netfilter_imq.patch
лежат в транке, но это исходняки. А откомпиленные они есть? Если есть то где? или самому надо все компилить?

m0xf
22-03-2009, 21:34
Жаль D-LINK выложил исходники прошивки только от DIR-330.
Тоже сначала так думал. Потом неожиданно нашёл исходники для 320 длинка на ftp://tsd.dlink.com.tw .

Vampik
22-03-2009, 22:02
Тоже сначала так думал. Потом неожиданно нашёл исходники для 320 длинка на ftp://tsd.dlink.com.tw .
Интересно, посмотрим. Спасибо за ссылку. Хотя самое интересное наверняка опять в бинарниках.

ntb
22-03-2009, 22:21
вопрос на тему энтузиазма
никто ещё не откомпилил kmod-cifs под прошивку Олега ? только из-за этого модуля не хочется использовать kamikaze (в виду того что последнюю не удалось заставить выдать больше ~7 мбит/с через pptp)

Vampik
22-03-2009, 22:31
В прошивке старая версия udpxy Chipmunk-8. Через igmpproxy телевидение работало отлично, а с udpxy сплошные артефакты и потеря потока каждые несколько минут. Как я с ним замучился, пока не догадался скомпилировать 1.0c-11 из cvs. :(

theMIROn
23-03-2009, 17:34
скомпилировать 1.0c-11 из cvsгде оно? на sf проследняя uxproxy-8

estas
23-03-2009, 19:38
После 1.9.2.7-7g сломали PPPoE, т.е. роутер не получает новые DNS сервера при установки PPPoE сессии, а продолжает использовать DNS полученные от DHCP при поднятии WAN интерфейса.

Стоит ли надеется что в новых прошивках вернут поведение PPPoE как в 7 прошивке ?

theMIROn
23-03-2009, 20:12
Стоит ли надеется что в новых прошивках вернут поведение PPPoE как в 7 прошивке ?При использовани PPPoE WAN интерфейс, как таковой, вообще не важен, как и DNS сервера которые светят в него. При поднятии PPPoE сессии должны использоваться именно те DNS сервера, которые назначаются.
Преверяли? http://wl500g.googlecode.com

estas
23-03-2009, 21:28
Проверял, то же самое :(

Вот тема подробно описывающая "наши" проблемы:

http://wl500g.info/showthread.php?t=13520

адекватного решения так и нет, но на седьмой прошивке все работало :confused:

lly
24-03-2009, 07:16
Вот тема подробно описывающая "наши" проблемы:

http://wl500g.info/showthread.php?t=13520

адекватного решения так и нет, но на седьмой прошивке все работало :confused:
Только следовало упомянуть, что "сломали" - это ваше личное мнение. А вот кое-кто считает, что это нормально:

Никакой мистики. Это ошибка в конфигурации провайдера. Он выдаёт DNS сервера, которые не работают никак кроме PPP. Решение простое - прописать их ручками рутеру, тогда маршруты к ним добавляться не будут.

estas
24-03-2009, 18:45
Только следовало упомянуть, что "сломали" - это ваше личное мнение. А вот кое-кто считает, что это нормально:

Хммм... по мне так и вправду поломали. Если DNS выдан через PPPoE, так и ходить к нему надо по PPPoE. Не так ли ?

Windows и Linux вполне себе корректно работают.

Последняя рабочая прошивка была 1.9.2.7-8, в 1.9.2.7-9 уже все плохо :(

Evengard
25-03-2009, 17:32
Имею: прошивка WL500gpv2-1.9.2.7-d-20090204.trx
Вроде все ОК, работает с корбиной на ура, НО... СМ недавнего времени стали пояляться вот такие логи:

Mar 25 20:16:40 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:17:29 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:17:30 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:17:30 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:19:53 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:19:53 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:19:53 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:20:00 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:20:18 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:20:18 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:21:27 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.
Mar 25 20:21:28 kernel: Internal flash device timeout occurred or write operation was performed while flash was programming.

(это всего лишь маленький кусочек)
Что имею: флешку, подключенную к роутеру, софт, установленный стандартными рекомендациями, трансмиссион, но который НЕ раздает торренты и НЕ закачивает... Настроено все в точности следуя рекомендациями... Внешне на работу роутера это никак не влияет, но пугает... Есть ли смысл ставить последнюю прошивку (если да, то откуда лучше качать, с гуглкода или отсюда: http://oleg.wl500g.info/pre10a/ ) и что это за зверь такой?

lly
25-03-2009, 18:07
Есть ли смысл ставить последнюю прошивку (если да, то откуда лучше качать, с гуглкода или отсюда: http://oleg.wl500g.info/pre10a/ ) и что это за зверь такой?
Пробовать последнюю версию имеет смысл, но конкретно эту "проблему" не должно решить. Такое впечатление, что какой-то скрипт или программа постоянно делает запись во флеш. При нормальной работе роутер вообще не пишет во флэш. Червей не понахватали? пароль случаем не admin/admin?

А про версии может быть немного запутанно, но на форуме написано. 1.9.2.7-10a - это фирменная прошивка лично от Олега. 1.9.7.2-d - развитие его прошивки группой энтузиастов.

Evengard
25-03-2009, 20:44
Спасибо, попробую как нибудь полностью переустановить/переконфигить роутер.
А вообще, какая ЛУЧШЕ? ) Та что от Олега или та что развивается группой энтузиастов? :) Заранее спасибо за ответ

Vampik
26-03-2009, 07:22
где оно? на sf проследняя uxproxy-8

так она же в cvs была.. автор только сегодня в раздел downloads выложил.

lly
26-03-2009, 07:29
А вообще, какая ЛУЧШЕ? )
Если был бы однозначный ответ на данный вопрос, альтернативных прошивок не существовало бы в принципе.

oleg71
27-03-2009, 06:20
lly >

будет ли внедрена поддержка usb 3G модемов в данной прошивке?

пользуюсь чешской прошивкой, не фанат, а единственный способ подключения!

Спасибо.

lly
27-03-2009, 07:31
будет ли внедрена поддержка usb 3G модемов в данной прошивке?
Если ты имеешь в виду готовый интерфейс, то если кто-нибудь поможет мне это сделать - да. Смотри моё письмо любителям CDMA (http://wl500g.info/showpost.php?p=137433&postcount=888)
А драйвера самих модемов давно добавлены.

oleg71
27-03-2009, 13:35
Если ты имеешь в виду готовый интерфейс, то если кто-нибудь поможет мне это сделать - да. Смотри моё письмо любителям CDMA (http://wl500g.info/showpost.php?p=137433&postcount=888)
А драйвера самих модемов давно добавлены.

Это ОЧЕНЬ здорово!
Жаль моих познаний не хватит на это,
остается ждать...
Если сейчас прошится вашей прошивкой, то модем определится,
но провести его настройку нельзя и осуществлять дозвон он не сможет?
Может через командную строку это возможно? или какими нибудь скриптами? Хотя может я что то не то говорю... :)

lly
27-03-2009, 13:44
Если сейчас прошится вашей прошивкой, то модем определится,
Это не винда - ничего никаким искусственным интелектом не "определяется", надо грузить модули.


Может через командную строку это возможно? или какими нибудь скриптами? Хотя может я что то не то говорю... :)
скриптами, поищи по форуму - народ делал.

WiziPok
28-03-2009, 21:17
Zdrastvujte

I just want to congratulate to the updated firmware, seems to be very fast and usable. Just have a few questions, what I would like to ask:

- the DHCP leases seems for me very slow, some cases takes 60sec ... in previous firmware (Oleg's one) the DHCP IP lease was faster,

- in some cases when some scripts run manually (using for cycled checking of RSSI with "while true do ...", hitting by CTRL+C (in putty) the script is doesn’t broken, but instead STARTED AGAIN .. so, hitting 10x CTRL+C the scripts starts 10x .. have to kill them manually

And last one, which is the most wanted:
- is it any possibilities to compile the firmware for ASUS 550gE?

Thank you
WiZi

AlexeyS
29-03-2009, 12:23
Красиво у нас с летним временем...
Mar 29 14:30:49 ntp client: Synchronizing time with time.nist.gov ...
Mar 29 13:30:49 kernel: MSDOS FS: IO charset utf8
Mar 29 13:30:49 kernel: MSDOS FS: Using codepage 866
Mar 29 14:30:49 USB storage: vfat fs at /dev/discs/disc0/part1 mounted to /tmp/mnt/disc0_1
Mar 29 13:30:50 kernel: kjournald starting. Commit interval 5 seconds
Mar 29 13:30:50 kernel: EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
Mar 29 13:30:50 kernel: EXT3 FS 2.4-0.9.19, 19 August 2002 on loop(7,0), internal journal
Mar 29 13:30:50 kernel: EXT3-fs: recovery complete.
Mar 29 13:30:50 kernel: EXT3-fs: mounted filesystem with ordered data mode.
Mar 29 13:31:57 dnsmasq[74]: DHCPREQUEST(br0) 172.16.0.2 00:e0:4c:10:8e:0d
Mar 29 13:31:57 dnsmasq[74]: DHCPACK(br0) 172.16.0.2 ***** alexey
Mar 29 14:32:37 nmbd[119]: [2009/03/29 14:32:37, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2(405)
Mar 29 14:32:37 nmbd[119]: *****
Mar 29 14:32:37 nmbd[119]:
Mar 29 14:32:37 nmbd[119]: Samba name server WL-001D605421AC is now a local master browser for workgroup WORKGROUP on subnet 172.16.0.1
Mar 29 14:32:37 nmbd[119]:
Mar 29 14:32:37 nmbd[119]: *****
Mar 29 13:33:17 dnsmasq[74]: DHCPINFORM(br0) 172.16.0.2 *****

Что за такое странное чередование часовых поясов? :confused:

al37919
29-03-2009, 13:19
от себя могу предложить success story:

Mar 29 01:55:07 syslog: export request from 10.28.100.1
Mar 29 03:00:09 syslog: export request from 10.28.100.1
других отклонений не замечено --- в обчем полный автомат
Естественно, при условии правильной настройки /etc/TZ и time_zone в nvram

AlexeyS
29-03-2009, 14:09
от себя могу предложить success story:

Mar 29 01:55:07 syslog: export request from 10.28.100.1
Mar 29 03:00:09 syslog: export request from 10.28.100.1
других отклонений не замечено --- в обчем полный автомат
Естественно, при условии правильной настройки /etc/TZ и time_zone в nvram

Дык, когда-то рекомендовали прописать в pre-boot: echo "MSK-3MSD,M3.5.0,M10.5.0/3" > /etc/TZ, что у меня и сделано... а time_zone у меня через web указано верно, что подтверждается записью Mar 29 14:30:49 ntp client: Synchronizing time with time.nist.gov, а вот система берет время на час назад...

lly
29-03-2009, 14:42
- the DHCP leases seems for me very slow, some cases takes 60sec ... in previous firmware (Oleg's one) the DHCP IP lease was faster,

dnsmasq was upgraded, but nobody complains such things. Can you provide any logs? What is your device?


- in some cases when some scripts run manually (using for cycled checking of RSSI with "while true do ...", hitting by CTRL+C (in putty) the script is doesn’t broken, but instead STARTED AGAIN .. so, hitting 10x CTRL+C the scripts starts 10x .. have to kill them manuallyi
Can't reproduce that, could you supply sample script?


And last one, which is the most wanted:
- is it any possibilities to compile the firmware for ASUS 550gE?
Yes, it is possible, but never was tested. Please write here if installation successful or not.

lly
29-03-2009, 14:56
Да time_zone у меня через web указано верно, что подтверждается записью Mar 29 14:30:49 ntp client: Synchronizing time with time.nist.gov, а вот система берет время на час назад...
Это может быть связано с расползанием TZ в initrd скриптах и во всем остальном. Надо крыжить...

al37919
29-03-2009, 15:00
Дык, когда-то рекомендовали прописать в pre-boot: echo "MSK-3MSD,M3.5.0,M10.5.0/3" > /etc/TZ, что у меня и сделано... а time_zone у меня через web указано верно, что подтверждается записью Mar 29 14:30:49 ntp client: Synchronizing time with time.nist.gov, а вот система берет время на час назад...
надо еще в nvram прописать правильное значение. Я для себя год назад с этим ковырялся здесь http://wl500g.info/showpost.php?p=91091 и пришел к варианту, который приведен в одном из последних постов. А в процессе действительно подобное колбасение также наблюдалось.

Vampik
29-03-2009, 15:14
Правильная таймзона прописана в /etc/TZ и в nvram - никаких проблем не замечено.

WiziPok
29-03-2009, 20:10
dnsmasq was upgraded, but nobody complains such things. Can you provide any logs? What is your device?

Can't reproduce that, could you supply sample script?

Yes, it is possible, but never was tested. Please write here if installation successful or not.

Hi,

thank for your fast response ...

The tested device is WL500GX with d191 firmware, which one is used as small home gateway for 10 users (USB disk, DHCP, static MAC, bandwith management, FTP, 2x web server, etc ..)

In attachment you can find the script, where the CTRL+C causes for me start the script again as new instance ... (or the script is not fully correct) :D
Please check it ... ... use to start as "./rssimon.sh -n"

The new 550gE firmware will be tested just at the end of the week ... I will refer about result. So, I hope that the router will survive and not bricked after upgrade :)

The updated dnsmasq could be tested after, when you include it to the firmware for 500gx.

Best regards
WiZi

lly
30-03-2009, 17:30
In attachment you can find the script, where the CTRL+C causes for me start the script again as new instance ...
Confirmed, it was a bug in busybox - fixed 27 march in main trunk. In a days we build new snapshot.

The updated dnsmasq could be tested after, when you include it to the firmware for 500gx.
You forgot to look in Changelog (http://code.google.com/p/wl500g/wiki/NEWS) - it here for months!

Akr0ZiS
30-03-2009, 19:13
Здравствуйте! Сразу предупреждаю, что в целом технически я более или менее подкован, но конкретно в том, что связано с Linux, разбираюсь на ооочень начальном уровне и прошу учесть это при ответе... :)
Перепробовал несколько разных прошивок, но в итоге решил остановиться именно на Вашей. Всё хорошо, всё работает, но назрел такой вопрос... При выполнении команды iptables -t nat -nvL POSTROUTING я получаю такой результат:

Chain POSTROUTING (policy ACCEPT 26631 packets, 2483K bytes)
pkts bytes target prot opt in out source destination
44985 3857K MASQUERADE all -- * ppp0 !95.24.43.172 0.0.0.0/0
3 238 MASQUERADE all -- * vlan1 !10.1.42.29 0.0.0.0/0
673 50847 SNAT all -- * br0 192.168.0.0/24 192.168.0.0/24 to:192.168.0.1
Впервые вижу, чтобы в этой табличке присутствовали одновременно MASQUERADE и SNAT, да и мне казалось, что когда я пробовал Вашу прошивку в первый раз, там был только SNAT, хотя я могу ошибаться. Скажите, это нормально и всё так и должно быть по задумке, или это я где-то успел накосячить в процессе настройки? Если виноваты мои руки, то подскажите, пожалуйста, как исправить, а если так и должно быть, то объясните, почему сделано именно так. :)
Вторым вопросом я хотел бы узнать, для чего в конце присутствует "to:192.168.0.1" - оно вроде не на всех прошивках имеется...
Прошу прощения за, возможно, глупые вопросы и заранее благодарен за ответ. :)

IvAnZ
30-03-2009, 21:59
тут написано чем они отличаются и почему может быть и то и другое и т.д.
если на разынх интерфейсах это, то ради бога. Главное чтоб работало
http://www.opennet.ru/docs/RUS/iptables/#MASQUERADETARGET
http://www.opennet.ru/docs/RUS/iptables/#SNATTARGET

IvAnZ
30-03-2009, 22:49
Народ! Ткните пальцем, где расписано как модули компилить под сабж??.
Хочу IMQ & Layer 7. Может у кого уже есть они готовые?
Не вьезжаю я что и где в сырцах прошивки.

Wolfgun
31-03-2009, 07:22
Chain POSTROUTING (policy ACCEPT 26631 packets, 2483K bytes)
pkts bytes target prot opt in out source destination
44985 3857K MASQUERADE all -- * ppp0 !95.24.43.172 0.0.0.0/0
3 238 MASQUERADE all -- * vlan1 !10.1.42.29 0.0.0.0/0
673 50847 SNAT all -- * br0 192.168.0.0/24 192.168.0.0/24 to:192.168.0.1


MASQUERADE применяется когда Вы не знаете IP отпарвителя
DNAT применяется когда хотите с публичной сети попасть в локальную
SNAT для конкретной трансляции с определенного IP на определенный IP

В SNAT to-это куда, для SNAT это обязательно !!!!!

SNAT all -- * br0 192.168.0.0/24 192.168.0.0/24 to:192.168.0.1
т.е. все пакеты из сети 192,168,0,0 на сеть 192,168,0,0 переданные через br0 проходят через 192,168,0,1

понятно???

lly
31-03-2009, 08:41
Народ! Ткните пальцем, где расписано как модули компилить под сабж??.
Хочу IMQ & Layer 7. Может у кого уже есть они готовые?
Не вьезжаю я что и где в сырцах прошивки.
Документация на ядро в каталоге src/linux/linux/Documentation а также
http://kernelnewbies.org/
http://www.tldp.org/

IvAnZ
31-03-2009, 09:31
Документация на ядро в каталоге src/linux/linux/Documentation а также
http://kernelnewbies.org/
http://www.tldp.org/
как для простого линукса модули компилить я знаю.
А для этого не особо. Разве простым линуксовым мэйком можно или надо как-то подключать компиляторы из мипсела?

al37919
31-03-2009, 10:47
http://code.google.com/p/wl500g/wiki/Welcome?tm=6

Vampik
31-03-2009, 11:19
lly
Какие мысли по поводу моего патча для DIR-320? С новым билдом у других пользователей все должно работать "из коробки", без танцев с бубном по настройке vlan через telnet, и с корректной работой индикаторов. С ручной настройкой mac можно смириться, но стирание раздела с заводской конфигурацией, все таки, очень некрасиво.

vigera
31-03-2009, 12:03
lly
залил в DIR-320 прошивку с отключенной консолью, предложенную sorine http://rapidshare.de/files/46188052/1.9.2.7-d-USB-195.tar.bz2.html и bluez чудесным образом заработал стабильно в паре с HDD на USB2.0, хотя r191 работала без ребутов только в USB 1.1. Cейчас попробую r211

lly
31-03-2009, 12:12
залил в DIR-320 прошивку с отключенной консолью, предложенную sorine http://rapidshare.de/files/46188052/1.9.2.7-d-USB-195.tar.bz2.html и bluez чудесным образом заработал стабильно в паре с HDD на USB2.0, хотя r191 работала без ребутов только в USB 1.1.
Изменения по USB были только в r186, r196, r200, какие изменения внёс sorine я не в курсе. Даже и не знаю что сказать ...


как для простого линукса модули компилить я знаю.
Если бы почитал чуть внимательнее, то увидел бы компиляцию с другим gcc
make modules CC=...Для удобства есть target и в мейкфайле прошивки - kernel-modules.

theMIROn
31-03-2009, 12:56
lly
Какие мысли по поводу моего патча для DIR-320? С новым билдом у других пользователей все должно работать "из коробки", без танцев с бубном по настройке vlan через telnet, и с корректной работой индикаторов. С ручной настройкой mac можно смириться, но стирание раздела с заводской конфигурацией, все таки, очень некрасиво.
Прошивка ASUS для DLink не является априори out-of-box решением, лишает гарантии и предполагает некоторую подготовку и определенные знания/навыки.
Настройка vlan уже реализована, как и работа индикаторов. Сохранение заводских настроек DLink не является ни целью, ни задачей альтернативных асусовских прошивок, основанных на работе Олега.
Соответственно патч не принимается, сохранение настроек остается на откуп конкретным пользователям.

p.s за помоoь и тестирование - отдельное большое спасибо, от всех заинтересованных.

Akr0ZiS
31-03-2009, 13:35
IvAnZ
Спасибо за полезные ссылки - почитаю.

Wolfgun
Да, вроде бы всё понятно... Спасибо за разъяснения!

Partos
31-03-2009, 13:41
пока можно прописать в скрипт flashfs /usr/local/sbin/pre-boot


#!/bin/sh
TZ="YEKT-5YEKST,M3.5.0,M10.5.0/3"
[ "$TZ" != "$(nvram get time_zone)" ] && nvram set time_zone="$TZ"
echo "$TZ" > /etc/TZ

для москвы/питера будет TZ="MSK-3MSD,M3.5.0,M10.5.0/3"

В новых прошивках TimeZone уже пофиксено, или еще нет?

Vampik
31-03-2009, 13:45
Настройка vlan уже реализована, как и работа индикаторов.
Я об этом и говорю, с последним билдом все работает "из коробки", без дополнительной настройки. Только заводская конфигурация при сбросе стирается :)
Ладно, хозяин - барин. Лично мне все равно, исправлю и перекомпилирую. Я только хотел помочь другим пользователям, т.к. у большинства скачивающих и прошиваюших прошивку есть проблема с "некоторой подготовкой и определенными знаниями/навыками". Со случайно стертой заводской конфигурацией больше шансов лишиться гарантии. У DD-WRT есть даже мануал по возвращению исходных настроек на DIR-300, только для DIR-320 он несколько не подходит.
Помогать и тестировать буду и дальше, пока у меня есть этот роутер :)

lly
31-03-2009, 13:47
Помогать и тестировать буду и дальше, пока у меня есть этот роутер :)
Спасибо. Альтернативный вариант, устраивающий и "волков" и "овец" ;) , озвучил в личке.

theMIROn
31-03-2009, 13:51
В новых прошивках TimeZone уже пофиксено, или еще нет?
В web интерфейс вынесены только некоторое количество наиболее распространенных временных зон. Включать все - практически анрил, очень сильно раздует размер httpd демона и самого web интерфейса.
Вообщем то это и все, что мешает сделать.
Более правильным был бы вариант рефакторинга установки зоны с использованием внешних файлов и/или возможностью пользователю прописать строку описания зоны вручную

vigera
31-03-2009, 14:02
lly
на r211 по USB2.0 тоже работает:) хотя кривовато немного, получается фриз секунд 20 если приконнектиться через bluez при даунлоаде на комп самбой, но передача самовосстанавливается, ребута нет и винт после не отваливается. Спасибо!

lly
31-03-2009, 14:32
lly
на r211 по USB2.0 тоже работает:) хотя кривовато немного, получается фриз секунд 20 если приконнектиться через bluez при даунлоаде на комп самбой, но передача самовосстанавливается, ребута нет и винт после не отваливается. Спасибо!
Странно что в сборке sorine это не наблюдается. Можно попробовать собрать r195 и r199, а также спросить самого sorine - не правил ли он чего?

al37919
31-03-2009, 15:01
В web интерфейс вынесены только некоторое количество наиболее распространенных временных зон. Включать все - практически анрил, очень сильно раздует размер httpd демона и самого web интерфейса.
Вообщем то это и все, что мешает сделать.
Более правильным был бы вариант рефакторинга установки зоны с использованием внешних файлов и/или возможностью пользователю прописать строку описания зоны вручную

я думаю надо сделать именно по второму варианту. Т.е. добавить в список таймзон Manual и сделать поле куда вписывать его значение. Поскольку действительно worldwide списка найти не удалось, то надо открыть тему в буржуйском форуме со списком зон, в которой предложить участникам дополнять и исправлять список.

theMIROn
31-03-2009, 15:16
Поскольку действительно worldwide списка найти не удалось, то надо открыть тему в буржуйском форуме со списком зон, в которой предложить участникам дополнять и исправлять список.
ненене. Manual решит все наши проблемы

al37919
31-03-2009, 16:46
ну так я про мануал и говорю :) А тема нужна для того, чтобы посылать туда юзеров на поиски своей таймзоны. Ну и для того, чтобы сами пользователи этот список дополняли.

theMIROn
31-03-2009, 17:04
ну так я про мануал и говорю :) А тема нужна для того, чтобы посылать туда юзеров на поиски своей таймзоны. Ну и для того, чтобы сами пользователи этот список дополняли.
дык, чего его дополнять, все по формату
http://www.gnu.org/software/libtool/manual/libc/TZ-Variable.html
http://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap08.html
в конце концов можно использовать дефолтные GMT+- с модификаторами для летнего/зимнего времени

al37919
31-03-2009, 17:39
с форматом то проблем нет, а законодательство в каждой стране свое. И отследить какое значение рекомендовать реально только если юзвери из этих стран сами сформулируют/найдут правильные строки.

На примере этого изрядно неполного списка https://www.freewrt.org/trac/browser/trunk/freewrt/package/webif/files/usr/lib/webif/timezones.csv?rev=295 можно убедиться, какой бардак творится в этой области. В южном полушарии зимнее и летнее время местами перепутано :), где переход в феврале, где в марте, где в сентябре, а где в октябре. Даже если часы переводят по человечески (т.е. как у нас), то не могут договориться в час, в два или в три делать переход... Что за народ...

Опять же что б им в их единой Европе не пользоваться единой зоной CET-1CEST. Однако ж нет --- как меня сегодня, например, один немец просветил у них по правильному это называется MEZ-1MESZ --- в общем теже яйца, но в другом переводе.

theMIROn
31-03-2009, 18:20
ага, дикари-с =)

msevm
01-04-2009, 04:37
На r211 впервые удалось кинуть на винт (подключенный через хаб 2.0 параллельно с pl-2303 и принтером) и закачать обратно 8-ми гиговый файл без ребутов DIR-320. Спасибо!

vigera
01-04-2009, 07:12
Странно что в сборке sorine это не наблюдается. Можно попробовать собрать r195 и r199, а также спросить самого sorine - не правил ли он чего?
Ещё раз проверил - его сборка работает абсолютно идентично, т.е. фризится но не ребутится, вопрос только откуда прорыв относительно r191 если USB патчи пошли позже?:)

al37919
01-04-2009, 11:08
еще раз насчет таймзон. В данный момент их присутствует в списке 44 штуки. Из них на Штаты приходится 10, на Австралию аж целых 6. Из СНГ есть только Москва (1) и Армения. Прям перекос какой то, особенно с учетом того, что центр доработки прошивки находится в РФ. Правильно DST прописан только у Австралии (почему непонятно --- может потому, что у них в этом плане бардака больше всех см. ниже). Все остальные без DST.

Полагаю нужно прописать правильные зоны у РФ и СНГ, а у остальных пофиксить DST где удастся понять какой правильный. Далее пусть у кого все еще неправильно пишут репорты.

не удержусь и приведу схему временных зон Австралии --- сначала решил, что может там просто ошибки закрались, а оказалось, что там все даже еще круче. Вот что значит местное самоуправление в действии...

AWST-8 Australia (WA)
ACST-9:30 Australia (NT)
ACST-9:30ACDT-10:30,M10.5.0,M3.5.0 Australia (SA)
AEST-10 Australia (QLD)
AEST-10AEDT-11,M10.1.0,M3.5.0 Australia (TAS)
AEST-10AEDT-11,M10.5.0,M3.5.0 Australia (NSW,ACT,VIC)

плюс к этому есть еще WCT (GMT+8.45) --- unofficial timezone и ACT --- неописанная TZ

lly
01-04-2009, 11:37
al37919
Там вообще авгиевы конюшни надо чистить :mad:
Практически один в один список находится аж в четырех страничках:

Basic_GOperation_Content.asp
Advanced_RMISC_Content.asp
Basic_ROperation_Content.asp
Advanced_DDNS_Content.asp

не считая gateway/httpd/variables.c

al37919
01-04-2009, 12:52
нда..., он и есть один и тот же...

Basic_GOperation_Content.asp --- quick setup, режим gateway
Advanced_RMISC_Content.asp --- страница настройки режим AP
Basic_ROperation_Content.asp --- quick setup, режим router
Advanced_DDNS_Content.asp --- страница настройки режим не AP

и каждый раз по 7.5 килобайт. Вот откуда размер этого веб интерфейса берется :mad: наверное это по уму надо вынести в отдельную переменную и использовать многократно. Но я в этом веб программировании совсем слаб.

lly
01-04-2009, 13:11
Но я в этом веб программировании совсем слаб.
Аналогично :(

theMIROn
01-04-2009, 15:19
с таким хттпд в отдельную не вынести.
только что ввождить переменную, выносить ее в страницы и при парсинге пождменять на зоны из variables

Vampik
02-04-2009, 00:13
надо вынести в отдельную переменную и использовать многократно. Но я в этом веб программировании совсем слаб.

Это можно с помощью javascript сделать. Вот простой пример.

al37919
02-04-2009, 11:56
cool! Суммарный объем уменьшился на 25кб, причем добавление новых зон приведет к минимальному увеличению объема.

Вот только затестить смогу только на следущей неделе...

Vampik
02-04-2009, 12:37
Это был пример, сделанный за пять минут на коленке.
Вот готовый вариант. Тут и список таймзон в переменной, и возможность ручного ввода таймзоны. Заодно добавил в скрипт урл для dnsomatic.
Работать должно везде, где работает веб-интерфейс, т.к. вместо самописных функций использовал родные.

ABATAPA
02-04-2009, 13:00
cool! Суммарный объем уменьшился на 25кб, причем добавление новых зон приведет к минимальному увеличению объема.

Вот только затестить смогу только на следущей неделе...

Ели пропустить через "компрессор", который удалит комментарии, переводы строк, лишние пробелы - получится _намного_ меньше. ;

Vampik
02-04-2009, 13:04
Ели пропустить через "компрессор", который удалит комментарии, переводы строк, лишние пробелы - получится _намного_ меньше. ;

Ой, не надо, там и так черт ногу сломит.

ABATAPA
02-04-2009, 15:11
Ой, не надо, там и так черт ногу сломит.
А зачем там ломать? "Котлеты - отдельно, мухи - отдельно" (с)
На роутере - все ужатое, в исходниках - все как есть.

theMIROn
02-04-2009, 15:19
А зачем там ломать? "Котлеты - отдельно, мухи - отдельно" (с)
На роутере - все ужатое, в исходниках - все как есть.
мысль неплоха

ABATAPA
02-04-2009, 15:30
мысль неплоха

Особенно если посмотреть, как много разработчики не только оставляют "закомментаренных" кусков кода, но и отдают их в HTML. В том числе и на нашем роутере. О соответствии стандартам вообще молчу.

Глянешь в некоторые устройства, и вообще не понятно - что китайцы курят. Как обычно бывает, разработчики железа - плохие программисты (стОит заметить, что у Asus все еще довольно хорошо обстоит), а часто или используется "референсный" код (и внутри остается масса "универсальности" и следов тяжелых мук разработчика), или отдается все аутсорсеру (тут вообще может быть все что угодно).

lly
03-04-2009, 09:16
Мне тут напомнили старый сюрприз от ASUS, возникающий у слишком квалифицированных товарищей ;)

Если пытаться поменять пароль admin/root при помощи passwd, то это работает только до перезагрузки и только в telnet/ssh. В родной прошивке сиё решено самым простым способом - команда passwd отсутствует как класс.

А что, по вашему мнению, стоит сделать нам?

делать заплатку в passwd для записи в nvram (подраздует busybox, плюс завязка на libnvram)
удалить апплет passwd
забить

theMIROn
03-04-2009, 09:45
А что, по вашему мнению, стоит сделать нам?

делать заплатку в passwd для записи в nvram (подраздует busybox, плюс завязка на libnvram)
удалить апплет passwd
забить


переименовать passwd в busybox_passwd и реализовать passwd в rc c записью в nvram и вызовом busybox_passwd
делать заплатку в passwd для записи в nvram (подраздует busybox, плюс завязка на libnvram)
удалить апплет passwd
забить

ABATAPA
03-04-2009, 09:48
А что, по вашему мнению, стоит сделать нам?



По-моему, "забить" (хотя мне и не нравится в этом контексте этот термин), ибо тогда "патчить" нужно не только passwd, но и многое другое.
А если кто-то просто сделает `vim /etc/что-то` (например, /etc/group) - нужно патчить Vim? И все остальные утилиты, чтобы они отличали - куда они пишут, во flashfs, в jffs2, в tmpfs, в ramfs, или на диск ( (а вдруг у него rootfs на диске?), и еще немалое число вариантов? Этого точно делать не нужно.
А если человек получил доступ к командной строке - значит, он должен рано или поздно осознать то, что он делает.

al37919
03-04-2009, 10:15
Мне тут напомнили старый сюрприз от ASUS, возникающий у слишком квалифицированных товарищей ;)

Если пытаться поменять пароль admin/root при помощи passwd, то это работает только до перезагрузки и только в telnet/ssh. В родной прошивке сиё решено самым простым способом - команда passwd отсутствует как класс.

А что, по вашему мнению, стоит сделать нам?

делать заплатку в passwd для записи в nvram (подраздует busybox, плюс завязка на libnvram)
удалить апплет passwd
забить


это сюрприз скорее от Олега --- отца flashfs и вообще это не баг, а фича с четко описуемым поведением:

При выполнении комманды passwd меняется/создается файл /etc/passwd Для того чтобы сохранить в flashfs /etc/passwd нужно прописать в /usr/local/.files и сохранить flashfs. Вход через веб интерфейс производится всегда по паролю из nvram. Вход по telnet/ssh при наличии файла /etc/passwd производится по паролю из него, при отсутствии по паролю из nvram.

Это полное описание данной фичи.

ИМХО в каком то смысле наличие двух паролей --- даже предоставляет дополнительные возможности. Я когда людям устанавливаю этот аппарат, то создаю три разных пароля и инструктирую так --- пароль от WPA они могут по своему желанию дать соседям и т.п. --- с кем захотят поделиться, пароль от web-a можно дать, скажем, "мальчику", которого, например, придется позвать, чтобы порт прокинуть и т.п., а пароль от ssh не давать никому (поскольку все равно без знания специфики устройства он вреден). :) Я несколько утрирую, но суть такая, что предлагаю эту фичу оставить как есть.

lly
03-04-2009, 11:08
al37919
До Олега невозможно было сохранить /etc/passwd в flashfs, а корни-то ASUS'овские. Согласен, оставляем как есть.

Спасибо за столь развернутое описание, может стоит его вывесить в FAQ?

ABATAPA
03-04-2009, 11:39
Спасибо за столь развернутое описание, может стоит его вывесить в FAQ?

А надо ли? Масса народа, не умеющего читать, начнет экспериментировать с командной строкой, passwd, flashfs. Результатом будет масса сообщений вида "не могу войти в роутер!! памагите СРОЧНО!"
В форуме есть, кому надо - найдет. Понимающие поймут и так.
А для тех, кому Linux далек, и кто не хочет разбираться, а ждет лишь инструкций - есть смена пароля через "морду", что и стОит рекомендавать. И, IMHO, этого достаточно - это не что-то такое, для чего обязательно нужно лезть в консоль. Зачем плодить лишние проблемы?
И форум, все же, не самоучитель азов Linux.

al37919
03-04-2009, 12:51
До Олега невозможно было сохранить /etc/passwd в flashfs, а корни-то ASUS'овские. Согласен, оставляем как есть.
до Олега не было входа по telnet/ssh, файл /etc/passwd не использовался вообще, поэтому и passwd не было. В асусе тоже не до такой степени дураки сидят :)

oleg71
03-04-2009, 18:18
Господа! Поставте линк на первой странице на прошивку!

lly
03-04-2009, 18:23
Господа! Поставте линк на первой странице на прошивку!
Таки же есть первым пунктом линк на wl500g.googlecode.com ? Или формулировочка не понятна??

WiziPok
03-04-2009, 22:49
Zdrastvujte, Hi,

Today I installed the d211 firmware to my 550gE. Seems, that the router works good already 12 hours. What I recognized are, that the RSSI and the Signal Quality are a little bit changed at clinets, but this could be caused by the changed weather conditions, or different TX power handling … or not.

The 550gE device has no USB connectors from factory. With goal to increase the available memory, I removed the unnecessary MODs from the memory. The remove was successful except:

usb-ohci 19412 0 (unused)
usbcore 76096 1 [usb-ohci]

modules. Is there any possibilities how to unload these modules from the memory and free up a little bit the memory?

> rmmod usb-ohci
> rmmod: cannot unload 'usb_ohci': unknown symbol in module, or unknown parameter


Thanks
With best regards
WiZi

theMIROn
04-04-2009, 08:11
> rmmod usb-ohci
> rmmod: cannot unload 'usb_ohci': unknown symbol in module, or unknown parameter
Did you write module name with _ or with -?

oleg71
04-04-2009, 19:03
Таки же есть первым пунктом линк на wl500g.googlecode.com ? Или формулировочка не понятна??

Эээ.... Семен-Семеныч... :D
прозевал! :D
Спасибо!

WiziPok
05-04-2009, 00:46
Did you write module name with _ or with -?

Hi,
I tried it both way:

the results of "lsmod" :

usb-ohci 19412 0 (unused)
usbcore 76096 1 [usb-ohci]
ip_nat_ftp 3136 0 (unused)
ip_conntrack_ftp 4584 1
wl 897336 0 (unused)
et 29088 0 (unused)

Trying to remove usb-ohci with "-":
> $ rmmod usb-ohci
> rmmod: cannot unload 'usb_ohci': unknown symbol in module, or unknown parameter

Trying to remove usb-ohci with "_":
> $ rmmod usb_ohci
> rmmod: cannot unload 'usb_ohci': unknown symbol in module, or unknown parameter

So, no succes.
With best regards
WiZi

lly
05-04-2009, 07:53
Trying to remove usb-ohci with "-":
> $ rmmod usb-ohci
> rmmod: cannot unload 'usb_ohci': unknown symbol in module, or unknown parameter
It is a bug in busybox. Fixed in r225.
Issue in busybox bugzilla created - https://bugs.busybox.net/show_bug.cgi?id=263

al37919
07-04-2009, 01:34
Леонид, а в чем смысл двойных таргетов, как например здесь:

$(TOP)/www:
[ ! -d $(SRC)/www ] || [ -d $@ ] || \
tar -C $(SRC) -cf - www/asus | tar -C $(TOP) -xf -

www: $(TOP)/www
[ ! -f $@.diff ] || $(PATCHER) -Z $(TOP) $@.diff
cp iBox_title_all.jpg $(TOP)/www/asus/web_asus_en/graph/
cp iBox_title_all_HDD.jpg $(TOP)/www/asus/web_asus_en/graph/
cp iBox_title_all_550g.jpg $(TOP)/www/asus/web_asus_en/graph/

а то и тройных:

$(TOP)/ppp: ppp/$(PPP).tar.bz2
@rm -rf $(TOP)/$(PPP) $@
tar -xjf $^ -C $(TOP)
$(PATCHER) $(TOP)/$(PPP) $(ppp_Patches)
mv $(TOP)/$(PPP) $@ && touch $@

$(TOP)/ppp/Makefile: $(TOP)/ppp
cd $^ && ./configure --prefix=/usr --sysconfdir=/tmp

ppp: $(TOP)/ppp/Makefile
@true
я как раз вчера ковырялся в мейкфайле и некоторые вещи понял, но это как то не могу осмыслить.

lly
07-04-2009, 07:23
Леонид, а в чем смысл двойных таргетов?
Там не везде сделано аккуратно, но общий смысл в попытке сделать корректный частичный перенакат. Например, до r229:

Кто-то другой обновил www.diff в SVN
Я хочу обновить только gateway/www - удаляю этот каталог и делаю

make www
У меня копируется и патчится www, но не копируются *.jpg , т.к. они копировались только в правиле custom

JipJip
07-04-2009, 09:52
Fixed in r225.
lly СПАСИБО за отличную прошивку ! Значит надо будет обновить свой DIR-320. З.ы. если необходимо что-то проверить, посмотреть что к чему на дире - я готов. Подскажи, пожалуйста, надо делать сохранение настроеки и флеша в файлы с возвратом назад через веб или можно просто через веб обновиться ? Я с 10а абновлялся на твою 211 - ничего не слетело.

Vampik
07-04-2009, 09:58
надо делать сохранение настроеки и флеша в файлы с возвратом назад через веб или можно просто через веб обновиться ?
При обновлении настройки сохраняются, можно просто через веб обновиться. Но резервную копию настроек и flashfs на всякий случай желательно иметь.

al37919
07-04-2009, 10:07
смысл исправления r229 мне ясен, но вопрос немного в другом. Я не могу понять разницу между вышеприведенным и следующим:

www:
tar -C $(SRC) -cf - $@/asus | tar -C $(TOP) -xf -
$(PATCHER) -Z $(TOP) $@.diff
cp iBox_title_all.jpg $(TOP)/www/asus/web_asus_en/graph/
cp iBox_title_all_HDD.jpg $(TOP)/www/asus/web_asus_en/graph/
cp iBox_title_all_550g.jpg $(TOP)/www/asus/web_asus_en/graph/
Тем не менее у Олега везде сделано по первому варианту, хотя второй проще. Раз он так сделал, значит есть зачем :) Вот этого я понять и не могу.

lly
07-04-2009, 10:21
al37919
Кажется понял что ты хотел сказать! Надо сказать, у меня тоже неудачный вариант :(
Идея была именно в автоматическом определении зависимостей и выполнении/невыполнении обновления пакетов.

P.S. Надо всё прошерстить и выровнять, но вот всё руки не доходят

ABATAPA
07-04-2009, 10:48
P.S. Надо всё прошерстить и выровнять, но вот всё руки не доходят

К слову, предлагаю на googlecode рядом с прошивкой выкладывать еще и архив с не вошедшими в нее модулями ядра.

Vampik
07-04-2009, 10:51
К слову, предлагаю на googlecode рядом с прошивкой выкладывать еще и архив с не вошедшими в нее модулями ядра.

:eek: А это тогда что? http://code.google.com/p/wl500g/downloads/detail?name=modules-1.9.2.7-d-r211.tar.bz2&can=2&q=

Vampik
07-04-2009, 22:46
Не работает USB 1.1 веб-камера через USB 2.0 хаб. Проверял как на r211, так и на r232.
Определяется:

Jan 1 03:00:06 kernel: hub.c: new USB device 00:03.1-1.2, assigned address 4
Jan 1 03:00:06 kernel: usb.c: USB device 4 (vend/prod 0x458/0x7004) is not claimed by any active driver.
Делаем insmod:

Apr 8 01:07:55 kernel: Linux video capture interface: v1.00
Apr 8 01:07:55 kernel: usb.c: registered new driver spca5xx
Apr 8 01:07:55 kernel: drivers/usb/spca5xx.c: USB SPCA5XX camera found. Type Genius VideoCAM Express V2 (SPCA561A)
Apr 8 01:07:55 kernel: drivers/usb/spca5xx.c: spca5xx driver 00.60.00.1 registered
При подключении напрямую к USB-порту или при отключении USB 2.0 - работает.
Но через USB 2.0 хаб, при включенном USB 2.0, при попытке получить картинку c помощью spcacat:

Apr 8 01:13:07 kernel: hcd.c: use explicit queuing not urb->next
Apr 8 01:13:07 kernel: drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -22
Драйвер отсюда (http://mxhaard.free.fr/download.html), свежескомпилированный.
Вот на всякий случай содержимое /proc/bus/usb/devices и вывод lsusb.

ABATAPA
08-04-2009, 06:02
:eek: А это тогда что? http://code.google.com/p/wl500g/downloads/detail?name=modules-1.9.2.7-d-r211.tar.bz2&can=2&q=

Я про ссылку с http://code.google.com/p/wl500g/

TOYan
08-04-2009, 07:17
Не работает USB 1.1 веб-камера через USB 2.0 хаб. Проверял как на r211, так и на r232.
При подключении напрямую к USB-порту или при отключении USB 2.0 - работает.
У меня на wl500pgv2 почти такая же ситуация с камерой, за исключением того, что камера USB 1.1 не работает с включенным USB 2.0 ни через хаб, ни будучи подключеной напрямую. С выключенным USB 2.0 работает нормально.
Вот здесь (http://wl500g.info/showpost.php?p=140695&postcount=12) еще один коллега по несчастью описывает аналогичную проблему со звуковой USB 1.1 картой.
Ожидается ли решение этой проблемы в будущих версиях прошивки?

lly
08-04-2009, 07:42
У меня на wl500pgv2 почти такая же ситуация с камерой, за исключением того, что камера USB 1.1 не работает с включенным USB 2.0 ни через хаб, ни будучи подключеной напрямую. С выключенным USB 2.0 работает нормально.
Это бага в самом драйвере, см. ниже.

Вот здесь (http://wl500g.info/showpost.php?p=140695&postcount=12) еще один коллега по несчастью описывает аналогичную проблему со звуковой USB 1.1 картой.
Ты можешь сам что-нибудь понять из его поста, кроме того, что все плохо? Я - нет. Сравни с постом Vampik'а по информативности.

Ожидается ли решение этой проблемы в будущих версиях прошивки?
С таким количеством и качеством информации - нет.


Не работает USB 1.1 веб-камера через USB 2.0 хаб. Проверял как на r211, так и на r232.

При подключении напрямую к USB-порту или при отключении USB 2.0 - работает.
Но через USB 2.0 хаб, при включенном USB 2.0, при попытке получить картинку c помощью spcacat:
Посмотрел - это недоработка в драйвере. Логика urb->next может быть использована только с драйверами uhci, ohci. А начиная с версии ядра 2.5.17 это поле(next) вообще убрали из структуры urb. В драйвере pwc из прошивки аналогичная фигня (http://wl500g.info/showthread.php?t=18886). Надо препарировать более свежий драйвер qc-usb-messenger 1.8 или штудировать ядерный mailing-list.

Vampik
08-04-2009, 10:35
Мда.. нашел трехлетней давности тикет (https://dev.openwrt.org/ticket/532) на openwrt по тому же поводу. Попробовал предложенный патч для 2.4.x (закомментировать urb->next в ф-ции spca50x_init_isoc и раскомментировать usb_submit_urb в ф-ции spca50x_isoc_irq), видимо этого недостаточно :) Теперь ошибки насчет urb->next нет, а вторая осталась:

Apr 8 13:23:20 kernel: drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -22
P.S. С usb-ohci модифицированный вариант все также нормально работает. Плохо иметь один USB-порт :(

TOYan
08-04-2009, 11:13
Посмотрел - это недоработка в драйвере. Логика urb->next может быть использована только с драйверами uhci, ohci. Надо препарировать более свежий драйвер qc-usb-messenger 1.8 или штудировать ядерный mailing-list.
У меня драйвер qc-usb-messenger 1.8, посмотрел в qc-driver.c - там нет ничего про "next".
При загрузке модулей драйвер находит и инициализирует камеру, без сообщений об ошибках, но при запуске palantir в логе вот это:

14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.524996]: open users=1
14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.541833]: qc_sensor_init: call qc_sensor_setsize0 (324,248)
14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.543525]: set sensor=324x248 vwin=324x248
14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.548295]: failed qc_v4l_ioctl()=-515
14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.553910]: VIDIOCGWIN: 324,248
14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.555392]: VIDIOCSWIN: call qc_sensor_setsize 324,248
14:56:00 08-04-2009 (debug|kern|kernel) qcmessenger [ 0.556817]: VIDIOCGWIN: 324,248
14:56:27 08-04-2009 (debug|kern|kernel) qcmessenger [27.015374]: submit ISOC_URB 0 failed
14:56:27 08-04-2009 (debug|kern|kernel) qcmessenger [27.015448]: failed qc_isoc_init()=-28
14:56:27 08-04-2009 (err|kern|kernel) qcmessenger: unable start isoc
14:56:27 08-04-2009 (debug|kern|kernel) qcmessenger [27.018670]: failed qc_capt_get()=-28
14:56:27 08-04-2009 (debug|kern|kernel) qcmessenger [27.018722]: failed qc_v4l_ioctl()=-28
14:56:27 08-04-2009 (debug|kern|kernel) qcmessenger [27.132790]: submit ISOC_URB 0 failed
14:56:27 08-04-2009 (debug|kern|kernel) qcmessenger [27.132866]: failed qc_isoc_init()=-28
Есть надежда?
И еще вопрос: если дело в драйвере, возможно ли для wl500gpV2 один USB-разъем инициализировать в режиме USB1.1, а другой в USB2.0? Это решило бы все проблемы.

Полные логи прилагаю:

lly
08-04-2009, 11:20
Теперь ошибки насчет urb->next нет, а вторая осталась:

Apr 8 13:23:20 kernel: drivers/usb/spca5xx.c: init isoc: usb_submit_urb(0) ret -22
Какие-то поля в структуре urb, критичные только для ehci, остаются неиниализированные. Я на подобные грабли наступал с Bluetooth (urb->interval). Вариантов поиска точного места два:

включить полный USB_DEBUG + debug в ehci и искать доп. сообщения об ошибке (но не факт, что они появятся)
тупо временно поменять EINVAL в usb драйвере на EINVAL+1, EINVAL+2, ... , EINVAL+n
по изменившемуся коду ошибки точно вычислить место и чего не хватает




Есть надежда?

В основном - только на Vampik'а т.к. мне тестировать и смотреть не на чем. А первоначальная ошибка у тебя аналогичная - "submit ISOC_URB 0 failed".


И еще вопрос: если дело в драйвере, возможно ли для wl500gpV2 один USB-разъем инициализировать в режиме USB1.1, а другой в USB2.0? Это решило бы все проблемы.

Контроллер-то один! ehci либо участвует в процессе, либо не участвует совсем.

Vampik
08-04-2009, 11:57
А что за грабли с urb->interval? Там идет присвоение urb->interval = 1, только для ядер 2.5+.

lly
08-04-2009, 12:06
А что за грабли с urb->interval? Там идет присвоение urb->interval = 1, только для ядер 2.5+.
hcd.c: hcd_submit_urb() - строка 1140
if (urb->interval <=0)
return -EINVAL;
Вот похоже, что большую часть этих 2.5+ нужно заменить на 2.4.30+

Vampik
08-04-2009, 12:18
Исправил. С ehci - теперь usb_submit_urb возвращает -ENOSPC.

lly
08-04-2009, 12:37
Исправил. С ehci - теперь usb_submit_urb возвращает -ENOSPC.
При прямом подсоединении или через хаб? Это уже хуже - какие-то ньюнсы в самом EHCI. Без девайса мне что-либо выяснить будет сложно...

Vampik
08-04-2009, 12:45
При прямом подсоединении или через хаб? Это уже хуже - какие-то ньюнсы в самом EHCI. Без девайса мне что-либо выяснить будет сложно...
При прямом подсоединении камера работает через ohci -> все нормально.

lly
08-04-2009, 12:49
При прямом подсоединении камера работает через ohci -> все нормально.
В первом письме ты написал, что тебе помогает только полная выгрузка EHCI, даже при прямом подсоединении, поэтому и уточнял.

oleg71
08-04-2009, 12:55
А где берут свежачок ?
Тут http://code.google.com/p/wl500g/downloads/list
вроде только r211, а рассуждают о r232 :eek:

Vampik
08-04-2009, 12:58
А где берут свежачок ?
Тут http://code.google.com/p/wl500g/downloads/list
вроде только r211, а рассуждают о r232 :eek:

http://code.google.com/p/wl500g/source/list

http://code.google.com/p/wl500g/source/checkout

http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware


В первом письме ты написал, что тебе помогает только полная выгрузка EHCI, даже при прямом подсоединении, поэтому и уточнял.

Я писал, что работает при подключении напрямую к USB-порту или при отключении USB 2.0, т.к. в обоих случаях задействуется ohci.

oleg71
08-04-2009, 13:04
http://code.google.com/p/wl500g/source/list

http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware

Так там скачать прошивку незя:)
здесь http://code.google.com/p/wl500g/source/list только
Committed Changes 232 - 208 of 232 Older ›

Rev Scores Commit log message Date Author
r232 Added dnsomatic.com free trial link (thnx Vampik) Today (15 hours ago) themi...@mail.ru

а до самостоятельной сборки прошивки мне еще очень далеко, да и нужно ли если есть специалисты.

al37919
08-04-2009, 13:40
если до самостоятельной сборки далеко, то последний релиз r211

lly
08-04-2009, 14:02
С ehci - теперь usb_submit_urb возвращает -ENOSPC.
Увы, все оказалось не так просто - нюансов вагон.
Если ты посмотришь на код в более новом gspcav1-20071224 (http://mxhaard.free.fr/spca50x/Download/gspcav1-20071224.tar.gz), там в gspca_init_transfert() целый кусок посвящен обработке ENOSPC.
Альтернативный вариант предлагает еще один товарищ Howto Fix the “No space left on device” error message and Install the Spca5xx driver (http://ubuntuforums.org/archive/index.php/t-247646.html)
Также советую порыскать в авторском mail-list'e (http://dir.gmane.org/index.php?prefix=gmane.linux.drivers.quickcam)

И, увеличь уровень логгирования у драйвера (параметр debug=X), вдруг чего интересного расскажет?

Я не могу исключить ошибку с бэкпорте ISOC передач в EHCI, но Bluetooth то работает, лично проверял!

P.S. Сборка драйвера spca:
make KERNELDIR=/исходники/src/linux/linux CC=mipsel-linux-gcc-3.4.6

Vampik
08-04-2009, 15:37
Увы, все оказалось не так просто - нюансов вагон.
Если ты посмотришь на код в более новом gspcav1-20071224 (http://mxhaard.free.fr/spca50x/Download/gspcav1-20071224.tar.gz), там в gspca_init_transfert() целый кусок посвящен обработке ENOSPC.

Уже посмотрел. Что-то там есть про Damned Sunplus - у меня как раз SPCA561. Debug на максимум поставил. Фикс от одного товарища не помог, см. лог.

Komandir
08-04-2009, 16:28
Уважаемые разработчики новой прошивки ! Подскажите ! Решена ли и если решена, то в каком билде - проблема с уходом в дефолт при работе mpcs на роутере WL-500gP V2 ?

lly
09-04-2009, 08:58
Уже посмотрел. Что-то там есть про Damned Sunplus - у меня как раз SPCA561. Debug на максимум поставил. Фикс от одного товарища не помог, см. лог.
Значит дело плохо. Я поискал в mail-list'ах по ядру, основное отличие в драйверах видеокамер в одновременной обработке нескольких ISOC. И именно с этим возникали проблемы в интерфейсе hcd. По утверждению мэтра Alan Stern'а, код -ENOSPC выдается тогда, когда идет попытка резервирования более 80% ширины интерфейса.
Бэкпортить весь стек с 2.6 - это практически неподъемная задача, а чтобы пытаться хоть как-то экспериментировать с локальными заплатками, мне бы нужен сам девайс. Покупать ненужный в хозяйстве прибор, мне лениво ;)

P.S. Какая у тебя точная модель камеры?


Решена ли и если решена, то в каком билде - проблема с уходом в дефолт при работе mpcs на роутере WL-500gP V2 ?
Если ты соблаговолишь расшифровать свою сентенцию, то может кто-нибудь и ответит. А так напрашивается простой ответ - значения по умолчанию выставляются при обнаружении в nvram мусора, значит твой кардшаринг туда срёт, с ним и разбирайся.

Komandir
09-04-2009, 09:24
...
Если ты соблаговолишь расшифровать свою сентенцию, то может кто-нибудь и ответит. А так напрашивается простой ответ - значения по умолчанию выставляются при обнаружении в nvram мусора, значит твой кардшаринг туда срёт, с ним и разбирайся.
...


Эта проблема изложена на satcode.biz и касается почему-то именнно wl-500gP V2 ! Остальные модели такой проблемы не имеют (по крайней мере никто не жаловался). С прошивкой от чехов такой проблемы нет, но она вроде как морально устарела ...

Vampik
09-04-2009, 09:36
P.S. Какая у тебя точная модель камеры?
Genius VideoCAM Express V2.