Jump to content

Legoos

Forum Members
  • Posts

    45
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Legoos

  1. А у меня они подключаются, проходят аутентификацию, но arp пакеты уже не ходят dhcp не работает. Видимо как то встаёт и бридж. Но если зайти в консоли и сделать down, а потом up интерфейсу процессора, который идёт на свитч, то все оживает. Как будто забивается очередь какая-то. Поэтому Вам и советовали в ТП выключить flow control, предполагали, что оно криво работает с каким-то Вашим или провайдеровским оборудованием. У меня это проявляется на процессоре MT7621 со встроенным свитчём. На пике другой процессор 7622 на другом ядре и внешний свитч. Процессор другой, но возможно ядро ethernet похоже. В любом случае для разработчиков этот процессор нов и подобные проблемы это нормальное явление. То, что ТП не уделяет должного внимания - это просто предвзятое отношение, они предполагают наиболее вероятные проблемы и предлогами решение. Вы правильно сделали, что написали сюда. Разработчики совершенно адекватные и обязательно прислушаться.
  2. Сторож сработает только если "повиснет" ядро. У Вас же проблема в чем-то другом. Ядро продолжает работать, беспроводные клиенты продолжают работать. Нет причин для сработки сторожа. Ядро продолжает его сбрасывать. Думою если подключить терминал к UART там будет работать cli. Ядру не приходят пакеты по проводным интерфейсам - это проблема где-то в модулях ядра. Например я встречаю подобную ситуацию на прошивке Падавана rt-n56u при сборке компилятором gcc-8.5. При сборке на gcc-7.5 и ниже проблема не проявляется. Так и не разобрался, не хватает скилла) Может притянуто за уши, но со стороны выглядит похоже.
  3. Я думаю реально. Даже если проц мёртв, в продаже такого нет и слетела прошивка, а программатора НАНД нет. Можно купить и установить 7621А, настроить bootstrap на загрузку с SPI, собрать uboot, прошить spi flash копеечным программатором, собрать и прошить кастомную прошивку на получившийся кастомный роутер. Смысл во всём этом интерес и прокачка скилла, новый опыт. Я покупал проц тут.
  4. Не думаю, что будет сильно информативно. Я бы не сдавался. Можно вместе с ОЗУ заказать проц, вот только 7621А реально купить, а 7621S не уверен. А замена в лоб врятли пройдёт. Ещё есть флешка с ПО. Про дамп с неё я и говорил, но нужен программатор для НАНД. Ещё заметил паттерн под SPI flash, можно попробовать с неё стартануть, но нужно искать bootstrap пины. Тут веселья на долго, не сдавайтесь.
  5. Да, именно так. Плюсовой щуп на GND, минусовым на сигнальную линию. В пределах шины показания должны быть примерно одинаковые, остальные в пределах разумного - не КЗ и не обрыв, но я вижу Вы в теме. Просто процессору могло прилететь во время грозы, например, с ethernet портов и ему поплохело, память чтоб вышла из строя... ну это менее вероятно просто. Ещё конечно загрузчик может быть повреждён, но если будете снимать дамп, никому НЕ давайте его.
  6. Третий делитель у процессора, возможно R2,R5, тоже проверьте. Когда ОЗУ демонтируете, не лишним будет прозвонкой пройтись по сигналам, идущим на процессор. Это я всё к тому, что процессор может быть неисправен в части контроллера памяти, хоть и запускается.
  7. Добрый день. Проверьте напряжения Vdd = 1,5В и Vref = 0,75В. Схема не от Giga3, но должно быть всё аналогично. По расположению источника питания и делителей на плате не подскажу.
  8. Добрый день. Ради интереса просканировал свой роутер из локальной сети с помощью routersploit autopwn и обнаружилась уязвимость [+] 192.168.1.130 Device is vulnerable: Target Port Service Exploit ------ ---- ------- ------- 192.168.1.130 80 http exploits/routers/linksys/eseries_themoon_rce Пошёл дальше rsf (AutoPwn) > use exploits/routers/linksys/eseries_themoon_rce rsf (Linksys E-Series TheMoon RCE) > set target 192.168.1.130 [+] target => 192.168.1.130 rsf (Linksys E-Series TheMoon RCE) > run [*] Running module exploits/routers/linksys/eseries_themoon_rce... [+] Target is vulnerable [*] Invoking command loop... [*] It is blind command injection - response is not available [+] Welcome to cmd. Commands are sent to the target via the execute method. [*] For further exploitation use 'show payloads' and 'set payload <payload>' commands. cmd > show payloads [*] Available payloads: Payload Name Description ------- ---- ----------- mipsle/bind_tcp MIPSLE Bind TCP Creates interactive tcp bind shell for MIPSLE architecture. mipsle/reverse_tcp MIPSLE Reverse TCP Creates interactive tcp reverse shell for MIPSLE architecture. Может ложно сработало на похожую уязвимость у Linksys, я не разбираюсь в этом особо. Просьба проверить, на всякий случай.
  9. Похоже на небольшой просчёт в дизайне SOC. Поскольку G14(когда он PERST_N) является выходом с открытым стоком с внутренней подтяжкой с током 4 мА, которого видимо не достаточно, чтобы вытянуть единицу, когда на порту висят больше одного чипа. Соответственно нужно тянуть резистором, но этот же вывод является бутстрапом для OCP_RATIO и для делителя 1:3 нужно тянуть в ноль. Чтобы не ставить подтяжку к питанию этот пин используется как GPIO, софтовый workaround аппаратного косячка.
  10. А бэкпортировать это реально? На первый беглый взгляд выглядит сложной задачей.
  11. Как я понял проблема с openssl-1.1.1g на MT7620. Подробность можно узнать или NDA ...?
  12. Удалённо можно через мобильное приложение обновить, если роутер привязан разумеется. Пара седых волос появилась)
  13. Ну я уж не знаю как ещё можно объяснить, пусть останется капризом перфекциониста. Про то что значение в регистре может изменится в прерывании или другим потоком я даже и не подумал. Ну вообще шевелить пином, когда есть специальные биты в регистре RSTCTRL как то странно. Наверняка была причина, как я понял это всё из openwrt произрастает. Пользуясь случаем благодарю за отличную операционку и железо. Отдельное спасибо Илье за zram, r8152 и exfat.
  14. Этот код перекочевал с какого-то предыдущего процессора, где по другому было нельзя. Вот в драйвере видно, что RMW операцию делают над регистром данных для установки или сброса бита на каком-то другом процессоре. И далее по коду для MT7621 уже для этого используют другие регистры, а регистр данных только читают.
  15. Тут на примере другого микроконтроллера, но суть та же. Ожидаем, что прочитаем ранее записанное значение, наложим маску и тем самым изменим нужный нам бит. А по факту вычитаем значение с выводов контроллера (если какие-то gpio настроены на вход) получим мусор и запишем обратно. Нужный бит установится и ещё куча случайных, потом где-то в коде на выход развернётся другой бит, а там уже 1 или 0. Тогда нужно предварительно записывать нужное значение, а потом разворачивать gpio на выход. Но это всё не нужно, потому что есть специально предназначенные для этого регистры. Если настройка выводов не изменяется после инициализации в u-boot, то можно и так оставить, просто потенциально где-то потом может стрельнуть. Вот именно, что явно написано: при чтении текущие значения GPIO(если на вход), при записи предыдущие значения(если на выход). Читается весь регистр целиком, кто отслеживает какие биты на вход, а какие на выход - никто, потому что есть спец регистры, чтобы с этим не заморачиваться.
  16. Если я правильно Вас понял и для сброса используется регистр RSTCTRL, тогда тот код с GPIO вообще не нужен.
  17. Процессор GPIO19 сбрасывает pcie периферию, так что 19 настроен на выход. Понятно, что потом при работе с другими выходными GPIO они переинициализируются и скорее всего никто не заметит, что там был мусор. Но правильно использовать DSET и DCLR тем более в драйвере ralink_gpio так и сделано.
  18. Доброго дня. В ядре 3.4 при сбросе внешних радио чипов в процессоре MT7621 используется Read-Modify-Write операция с регистром RALINK_GPIO_DATA0 тут и тут. Суть проблемы в том, что операция выполняется не тат как ожидается, потому что при чтении берутся значения не ранее записанные в этот регистр, а непосредственно с gpio выводов, если gpio в режиме входа (см. руководство по программированию, стр. 67). Для записи без модификации ранее записанных данных правильно использовать регистры DSET и DCLR. Предлагаю следующий патч: diff --git a/arch/mips/rt2880/pci.c b/arch/mips/rt2880/pci.c index a2a007cf6..4a6363e24 100644 --- a/arch/mips/rt2880/pci.c +++ b/arch/mips/rt2880/pci.c @@ -112,7 +112,8 @@ static int pcie_link_status = 0; #define GPIO_PCIE_PORT2 7 // TXD3 (I2S_WS) #endif #define RALINK_GPIO_CTRL0 *(volatile u32 *)(RALINK_PIO_BASE + 0x00) -#define RALINK_GPIO_DATA0 *(volatile u32 *)(RALINK_PIO_BASE + 0x20) +#define RALINK_GPIO_DSET0 *(volatile u32 *)(RALINK_PIO_BASE + 0x30) +#define RALINK_GPIO_DCLR0 *(volatile u32 *)(RALINK_PIO_BASE + 0x40) #endif #define ASSERT_SYSRST_PCIE(val) do { \ @@ -639,7 +640,7 @@ int __init init_ralink_pci(void) mdelay(50); RALINK_GPIO_CTRL0 |= val; // switch PERST_N pin to output mode mdelay(50); - RALINK_GPIO_DATA0 &= ~(val); // fall PERST_N pin (reset peripherals) + RALINK_GPIO_DCLR0 = val; // fall PERST_N pin (reset peripherals) #else /* !defined (GPIO_PERST) */ RALINK_GPIOMODE &= ~(0x3<<PCIE_SHARE_PIN_SW); // fall PERST_N pin (reset peripherals) #endif @@ -687,7 +688,7 @@ int __init init_ralink_pci(void) #if defined (CONFIG_PCIE_PORT2) val |= (0x1<<GPIO_PCIE_PORT2); #endif - RALINK_GPIO_DATA0 |= val; // rise PERST_N pin (complete reset peripherals) + RALINK_GPIO_DSET0 = val; // rise PERST_N pin (complete reset peripherals) #else /* !defined (GPIO_PERST) */ RALINK_PCI_PCICFG_ADDR &= ~(1<<1); // release PCIRST #endif
  19. Доброго дня. Энтузиаст добавил в ядро 3.4 модули WireGuard, а также userspace утилиты в широко известную прошивку https://gitlab.com/dm38/padavan-ng/-/commits/wireguard . Есть ли шанс увидеть WireGuard в Legacy версиях KeeneticOS ?
  20. Да просто обидно, на модифицированной прошивке Падавана и на адаптированной Wive-NG-MT на популярном китайском роутере всё работает. И там и там samba-3.6.25 + wsdd2. Хоть и не основная функция роутера и в целом мелочи и жить можно, но если есть возможность починить, то было бы отлично.
  21. Здравствуйте. Роутер GIGA III прошивка 3.01.C.0.0-0. Проблема в том, что видеоплеер VLC android не видит файлов на сетевом диске глубже корня. Похожее поведение было замечено тут. Версия VLC 3.0.13, на другом смартфоне версия с маркета ведет себя также. Версия tsmb 3019.7.5-8-1. Дамп трафика прикрепил. Ещё сетевой диск не видно в сетевом окружении Windows 10 1809 (17763.678). На форуме находил похожий вопрос, но он вроде как решён. А по факту не работает. Дамп трафика прикрепил. Селф тест прикрепил. На время отладки windows сканировала сеть и vlc перемещался по пустым каталогам. Спасибо.
  22. Уже добавили. Энтузиасты ставят эксперименты: https://4pda.ru/forum/index.php?s=&amp;showtopic=714487&amp;view=findpost&amp;p=79682591 и https://4pda.ru/forum/index.php?s=&amp;showtopic=714487&amp;view=findpost&amp;p=79817926
  23. Придумал ещё один более реальный способ. Нужно пропатчить прошивку Padavan'a , чтобы она стартовала с отключенным радио. Для этого нужно закомментировать 690 сточку ("//RALINK_GPIO_DATA0 |= val;") файла "rt-n56u/trunk/linux-3.4.x/arch/mips/rt2880/pci.c" и пересобрать прошивку. Тогда pcie контроллеры радиочипов не выйдут из состояния сброса, процессор не увидит их на шинах и прошивка должна загрузится, подтвердив теорию о битом разделе Factory. При успешном запуске, можно будет читать и писать Factory из под прошивки. Бинарник раздела не обязательно вытаскивать из рабочего роутера, т.к. он всё равно не родной, то можно попросить на форумах. Заметил по логу, что прошивку Padavan'a собирали из репозитория Linaro. Тогда путь к файлу будет "padavan-ng/trunk/linux-3.4.x/arch/mips/rt2880/pci.c" и номер строки 692.
  24. На сколько я понимаю, в Factory хранится EEPROM радио чипов, в котором в свою очередь хранятся калибровки, которые индивидуальны. Так же там находятся МАС адреса, но это не страшно, их можно поправить. Чужие калибровки могут сказаться на качестве работы WIFI, но думаю лучше так чем кирпич. Вытащить Factory c рабочего роутера тоже не проблема, по крайней мере на прошивке от Padavan'a. Основная проблема - это возможность прошить раздел из загрузчика. Если есть uart консоль, то в первую очередь нужно разобраться можно ли загрузить по TFTP бинарник раздела и прошить его по нужному адресу (в логе ядра это 0x100000, а для uboot он может быть 0xbfd00000 например - тут желательно точно знать). Думаю разработчики прошивки могут дать конкретные руководства, а так только теория и догадки, как бы хуже не сделать.
  25. Приветствую. Было такое при повреждении содержимого раздела Factory. Если есть резервные копии разделов, то можно попробовать восстановить его. Сам прошивал через альтернативный загрузчик BREED, но он был прошит заранее. Возможно из родного загрузчика по tftp можно восстановить Factory, но лично не пробовал.
×
×
  • Create New...