Я ищу помощи с UniFi US-48-750W, который застрял в бесконечном цикле загрузки. Свитч не подключается по Ethernet, что делает сетевое восстановление (TFTP) недоступным. Я получаю доступ к устройству через последовательную консоль на старом ПК.
Вот краткое описание того, что я пробовал до сих пор и с какими проблемами сталкиваюсь:
**Краткое описание проблемы**
* Устройство находится в бесконечном цикле загрузки и не завершает процесс загрузки.
* Ethernet недоступен, поэтому восстановление TFTP по сети (с помощью tftpboot или urescue) невозможно.
* Сообщения об ошибках загрузчика указывают на “Wrong Image Format for bootm command” при попытке загрузить прошивку с помощью bootm.
**Попытки восстановления прошивки**
1. **Последовательная передача с помощью Ymodem и Kermit**
Я успешно загрузил файл прошивки (firmware.bin) на устройство с помощью Ymodem с командой loady.
Я также попробовал использовать Kermit с командой loadb в качестве альтернативы, оба раза прошивка загружается в память по адресу 0x80000000.
Несмотря на используемый протокол (Ymodem или Kermit), проблема возникает при попытке загрузить или прошить прошивку.
2. **Попытка команды bootm**
После загрузки прошивки в память я попытался выполнить:
shell
Copy code
bootm 0x80000000
Это привело к ошибке: “Wrong Image Format for bootm command” и “ERROR: can’t get kernel image!” несмотря на то, что я преобразовал прошивку в форматы сжатой и несжатой uImage с правильной архитектурой (ARM) и ожидаемыми адресами загрузки/начала.
3. **Прямая запись во флэш с помощью команд sf**
Учитывая ошибку bootm, я попытался обойти проверку формата, напрямую записав прошивку во флэш с помощью команд sf:
Initialized flash with:
shell
Copy code
sf probe 0
Стер раздел kernel0:
shell
Copy code
sf erase 0x000e0000 0x00f20000
Записал прошивку в kernel0:
shell
Copy code
sf write 0x80000000 0x000e0000 0x016ef530
Результат: Команда записи выполнилась успешно, но после перезагрузки (reset) цикл загрузки продолжался, и свитч не загрузил прошивку.
4. **Альтернативные команды и шаги отладки**
Я также исследовал:
* Различные комбинации форматов uImage (сжатые/несжатые, с разными точками загрузки/начала).
* Проверил, соответствуют ли адреса загрузки/начала в файле прошивки ожидаемым адресам загрузчика для kernel0.
* Искал дополнительные команды восстановления, но не нашел ничего, что разрешило бы проблему.
**Цель**
Я хотел бы вывести UniFi US-48-750W из цикла загрузки и восстановить его функциональность. Основная цель - найти способ либо:
* Успешно загрузить и запустить прошивку с помощью bootm, или
* Использовать альтернативный метод прошивки и заставить его загружаться напрямую из kernel0.
Буду очень признателен за любые подсказки или советы! Если есть какие-то специфические требования к форматированию прошивки или другие команды загрузчика, которые могли бы помочь – дайте знать. Я открыт для любых предложений, включая информацию о внешнем перепрограммировании, если это мой единственный вариант. В противном случае у меня есть возможность снять и обновить EEPROM внешне. Кто-нибудь пробовал это?
Спасибо за любую помощь!
Вот краткое описание того, что я пробовал до сих пор и с какими проблемами сталкиваюсь:
**Краткое описание проблемы**
* Устройство находится в бесконечном цикле загрузки и не завершает процесс загрузки.
* Ethernet недоступен, поэтому восстановление TFTP по сети (с помощью tftpboot или urescue) невозможно.
* Сообщения об ошибках загрузчика указывают на “Wrong Image Format for bootm command” при попытке загрузить прошивку с помощью bootm.
**Попытки восстановления прошивки**
1. **Последовательная передача с помощью Ymodem и Kermit**
Я успешно загрузил файл прошивки (firmware.bin) на устройство с помощью Ymodem с командой loady.
Я также попробовал использовать Kermit с командой loadb в качестве альтернативы, оба раза прошивка загружается в память по адресу 0x80000000.
Несмотря на используемый протокол (Ymodem или Kermit), проблема возникает при попытке загрузить или прошить прошивку.
2. **Попытка команды bootm**
После загрузки прошивки в память я попытался выполнить:
shell
Copy code
bootm 0x80000000
Это привело к ошибке: “Wrong Image Format for bootm command” и “ERROR: can’t get kernel image!” несмотря на то, что я преобразовал прошивку в форматы сжатой и несжатой uImage с правильной архитектурой (ARM) и ожидаемыми адресами загрузки/начала.
3. **Прямая запись во флэш с помощью команд sf**
Учитывая ошибку bootm, я попытался обойти проверку формата, напрямую записав прошивку во флэш с помощью команд sf:
Initialized flash with:
shell
Copy code
sf probe 0
Стер раздел kernel0:
shell
Copy code
sf erase 0x000e0000 0x00f20000
Записал прошивку в kernel0:
shell
Copy code
sf write 0x80000000 0x000e0000 0x016ef530
Результат: Команда записи выполнилась успешно, но после перезагрузки (reset) цикл загрузки продолжался, и свитч не загрузил прошивку.
4. **Альтернативные команды и шаги отладки**
Я также исследовал:
* Различные комбинации форматов uImage (сжатые/несжатые, с разными точками загрузки/начала).
* Проверил, соответствуют ли адреса загрузки/начала в файле прошивки ожидаемым адресам загрузчика для kernel0.
* Искал дополнительные команды восстановления, но не нашел ничего, что разрешило бы проблему.
**Цель**
Я хотел бы вывести UniFi US-48-750W из цикла загрузки и восстановить его функциональность. Основная цель - найти способ либо:
* Успешно загрузить и запустить прошивку с помощью bootm, или
* Использовать альтернативный метод прошивки и заставить его загружаться напрямую из kernel0.
Буду очень признателен за любые подсказки или советы! Если есть какие-то специфические требования к форматированию прошивки или другие команды загрузчика, которые могли бы помочь – дайте знать. Я открыт для любых предложений, включая информацию о внешнем перепрограммировании, если это мой единственный вариант. В противном случае у меня есть возможность снять и обновить EEPROM внешне. Кто-нибудь пробовал это?
Спасибо за любую помощь!
