ASUS wl520gu: Доводим клиента до кондиции (ч.1)

Не так давно приобрел себе это чудо. На радостях, что в него можно закатать OpenWRT и обеспечить раздачу интернетов с 3g модема на даче. На сайте OpenWRT писали, что у него проблемы с usb 2.0, и от этого он вешается…

На всякий пожарный нафиг отрубаю usb-ehci, собираю запускаю…
И пошли зависания. Стоит поднять ppp соединение с интернетом как не проходит и 20 секунд, как оно вешается. Пинги идут нормально, но стоит открыть, например, speedtest.net и все, кранты.
Распаиваем последовательный порт, подрубаем терминал, читаем вывод.
Хост контроллер тихонечко умирает, о чем нам сообщает (HC died), подчищает за собой мусор, и отпускает 8е прерывание. Которое вскоре дергается вызывая сотни строк ругани в последовательный порт, отрубание вообще всей сети и звисание.
После нескольких дней лютого красноглазия, а так же чтения спецификацияй usb я понял… что ничего не понял. На вид все должно работать, так откуда-же приходит информация, что хост контроллер скопытился?
Следующим этапом переключился с OpenWRT backfire на trunk. Оный там обозвали attitude adjustment и при входе в систему вывесили уже другой рецептик чего-то спиртосодержащего… Лучше я этот рецептик пробовать не буду…

Собирал оный я опять без ehci, и опять же напоролся на тот же самый баг. Подрубаю на всякий случай флешку, перекидываю туда сюда файлы, копирую образ бубунты… Зависаний нет. А от модема есть. Может наводка?
В общем рылся я долго и нудно, пока не рискнул включить таки этот долбаный ehci, и взять usb2.0 хаб… Внезапно оно заработало. Втыкаем модем напрямую — зависон, врубаем через хаб — работает. Просидел в сети два часа, после чего тест прекратил. В чем же дело? И тут поиск по интернету с другии ключевыми словами откопал вот этот пост на вртшном форуме: https://forum.openwrt.org/viewtopic.php?pid=107593#p107593

Иными словами, между роутером и следующим по течению устройством связь должна быть строго по 2.0. Тогда все нормально. Если мы к внешнему хабу втыкаем 1.1 устройства, то уже головная боль хаба перетранслировать 1.1 в 2.0 и отправить роутеру. Встроенный же хаб роутера так делать лучше не заставлять. Забавно, что как пишут там же, хувеевский роутер D100 на том же чипе нормально работает а хуавеевская прошивка на асусовском роутере точно так же виснет.

В итоге погоняв 2.0 встретил небольшие зависания без сообщений в лог. Но уже редкие и при большом трафике по usb. По счастью в код не полез — догадался пощупать чип, и сразу же насадил на него радиатор. После этого зависания пропали, хочется верить, окончательно.

Ну что же, остается только доделать к нему автономное питание и все будет очень и очень неплохо…

Print Friendly

ASUS wl520gu: Доводим клиента до кондиции (ч.1): 1 комментарий

  1. Приветствую.

    Да, имеется такая-же у меня проблема. Лечил так-же — через хаб.
    Еще на этом роутере, часы отстают на 10мин в час, можете проверить.
    Часы лечатся патчем ядра, который позволяет брать данные о тактовой частоте проца из nvram. нужно установить значение не 240, а 200 и будет все норм.

    А общая суть проблемы такова, что опять пользователей на**али.. 🙁
    Именно в WL520GU/GC Асус аппаратно лочит тактовую частоту на 200МГц (у того-же DIR-320 честные 240МГц), а выдает в исходниках и по выводу cat /proc/cpuinfo как 240МГц. Отсюда и убегающее время, и траблы с работой USB модемов.

Добавить комментарий