Наш первый опыт работы с NanoPi R6S, связанный с установкой и запуском образа FriendlyWrt/OpenWrt 22.03, был весьма удачным, но совсем иначе дела обстояли при тестировании Ubuntu или Debian, поскольку, после перепрошивки образов с помощью eFlasher, мини-ПК вообще не загружался.
Мы провели почти четыре часа, пробуя различные образы, а затем утилиту Rockchip для Windows, но все гаши попытки не увенчались успехом, а FriendlyElec не слишком помог. Поэтому мы решили подключить последовательную консоль, чтобы посмотреть, что происходит. NanoPi R6S поставляется с 3-контактным разъемом для последовательной консоли, но он не припаян.
Мы припаяли один, но не вверху, а внизу, так как это позволило бы нам использовать металлический корпус для охлаждения процессора.
Некоторые читатели, как минимум один, жалуются на отсутствие внешнего доступа к последовательной консоли в маршрутизаторах для устранения неполадок без необходимости отключать устройство и открывать его. Но с NanoPi R6S довольно легко добавить внешний последовательный консольный порт, припаяв разъем на нижней стороне платы, а затем проделав отверстие в нижней пластине.
Мы использовали электродрель и напильник, и результат нас устроил, но получилось не совсем аккуратно. Если у вас больше навыков или есть станок с ЧПУ, то это должно получиться более аккуратно.
Мы сделаем вид, что специально не центрировали отверстие, чтобы увидеть маркировку (GND, Tx, Rx).
Все работает, и теперь мы можем получить доступ к последовательной консоли, не разбирая маршрутизатор, просто подключив Tx, Rx и GND к отладочной плате USB-TTL с помощью перемычек. Нам пришлось обрезать разъемы примерно на 1 мм, чтобы они не касались стола, когда мы не используем последовательную консоль. Пластиковая крышка оказалась бы уместна, поэтому мы поискали в нашем офисе, пластиковые кусочки, закрывающие кабели HDMI, которые кажутся вполне подходящими для этой цели, при условии, что мы проделаем отверстие нужного размера.
Это работает в утилите eFlasher или когда мы загружаем образ FrienlyWrt/OpenWrt, используя скорость передачи 1 500 000 бит/с, указанную в Wiki:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
jaufranc@cnx-laptop-4:~$ bt -b 1500000 No port specified, using ttyUSB0 (last registered). Use -l to list ports. Trying port ttyUSB0... Connected to ttyUSB0 at 1500000 bps. Escape character is 'Ctrl-]'. Use escape followed by '?' for help. DDR Version V1.08 20220617 LPDDR4X, 2112MHz channel[0] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB channel[1] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB channel[2] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB channel[3] BW=16 Col=10 Bk=8 CS0 Row=16 CS1 Row=16 CS=2 Die BW=16 Size=2048MB Manufacturer ID:0x1 Samsung CH0 RX Vref:31.7%, TX Vref:20.8%,19.8% CH1 RX Vref:32.7%, TX Vref:18.8%,18.8% CH2 RX Vref:30.7%, TX Vref:20.8%,20.8% CH3 RX Vref:31.7%, TX Vref:20.8%,20.8% change to F1: 528MHz change to F2: 1068MHz change to F3: 1560MHz change to F0: 2112MHz out U-Boot SPL board init U-Boot SPL 2017.09-g70503fb4d6-220928 #root (Oct 13 2022 - 18:11:22) unknown raw ID 0 0 0 unrecognized JEDEC id bytes: 00, 00, 00 Trying to boot from MMC2 Trying fit image at 0x4000 sector ## Verified-boot: 0 ## Checking atf-1 0x00040000 ... sha256(806278dba1...) + OK ## Checking uboot 0x00200000 ... sha256(2972509ab3...) + OK ## Checking fdt 0x0032ca68 ... sha256(e936f08b25...) + OK ## Checking atf-2 0x000f0000 ... sha256(c00c7fd75b...) + OK ## Checking atf-3 0xff100000 ... sha256(71c3a5841b...) + OK ## Checking atf-4 0xff001000 ... sha256(2301cf73be...) + OK ## Checking optee 0x08400000 ... sha256(fde0860845...) + OK Jumping to U-Boot(0x00200000) via ARM Trusted Firmware(0x00040000) Total: 280.498 ms INFO: Preloader serial: 2 NOTICE: BL31: v2.3():v2.3-405-gb52c2eadd:derrick.huang NOTICE: BL31: Built : 11:23:47, Aug 15 2022 INFO: spec: 0x13 INFO: ext 32k is valid INFO: GICv3 without legacy support detected. INFO: ARM GICv3 driver initialized in EL3 INFO: system boots from cpu-hwid-0 INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001 INFO: dfs DDR fsp_params[0].freq_mhz= 2112MHz INFO: dfs DDR fsp_params[1].freq_mhz= 528MHz INFO: dfs DDR fsp_params[2].freq_mhz= 1068MHz INFO: dfs DDR fsp_params[3].freq_mhz= 1560MHz INFO: BL31: Initialising Exception Handling Framework INFO: BL31: Initializing runtime services INFO: BL31: Initializing BL32 INFO: hdmirx_handler: dma not on, ret I/TC: I/TC: OP-TEE version: 3.13.0-652-g4542e1efd #derrick.huang (gcc version 10.2.1 20201103 (GNU Toolchain for the A-profile Architecture 10.2-2020.11 (arm-10.16))) #5 2022年 09月 20日 星期二 09:41:09 CST aarch64 |
Но с Ubuntu или Debian вообще ничего не выходит. Возможно что-то не так при прошивке образа внутри утилиты eFlasher, тем более, что для завершения «обновления прошивки» требуется всего одна или две секунды, мы предполагаем, что какие-то проблемы с картой MicroSD (ошибки ввода-вывода или слишком маленький размер), но искать причину будем в другой раз.
Мы надеемся, что FriendlyElec рассмотрит возможность обеспечения легкого доступа к последовательной консоли в своих будущих маршрутизаторах, поскольку реализация решения, описанного выше, практически ничего не стоит.
[Обновление: Pastrav придумал более удобный способ добавить последовательный порт в NanoPi R6S, используя 2,5-мм аудио-разъем, прикрепленный к отверстию, предназначенному для антенны. Подробности смотрите в комментариях.
Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.