All Activity
- Past hour
- Today
-
Thanks for the suggestion, I appreciate it. Unfortunately it didn't do anything. I've tried the args one at a time, combined, still nothing. One thing I noticed, I can consistently get the nvme to properly show up, during the first boot of radxa's image. (ie. flashing the radxa image to an SD, booting for the first time to the desktop, the nvme will be detected and work properly). Rebooting after that is a hit or miss and generally only cold boots sometimes work. I also tried the args you suggested in the radxa official image and still the same. Btw for everything I mention, the armbian SPI image was installed. My only assumption is that some irrelevant delay related to the first boot, gives time for the nvme to initialize? On subsequent boots I get "pcie link fail" during boot, and again, lspci works, lsblk doesn't. Also I would like to use armbian ubuntu desktop which I can't at the moment, since the noble gnome image doesn't boot at all.
-
In the meantime and in order digging further I've switched to gcc-13 to build module with the same version as the kernel : root@orangepiplus:/mnt/sda2/src/linux-6.15.4# gcc --version gcc (Debian 13.4.0-1) 13.4.0 Then I've downloaded headers with armbian-config to : /usr/src/linux-headers-6.15.4-edge-sunxi and proceeded with rebuild Using Official Headers cd /mnt/sda2/src/linux-6.15.4 make clean cp /usr/src/linux-headers-6.15.4-edge-sunxi/.config .config sed -i 's/^EXTRAVERSION =.*/EXTRAVERSION = -edge-sunxi/' Makefile make olddefconfig 787 make menuconfig 788 grep -E 'CONFIG_RTW88_CORE|CONFIG_RTLWIFI|CONFIG_RTW88_8821AU' .config make modules_prepare cp /usr/src/linux-headers-6.15.4-edge-sunxi/Module.symvers . make M=drivers/net/wireless/realtek/rtw88 modules -j$(nproc) sudo cp /boot/System.map-$(uname -r) /mnt/sda2/src/linux-6.15.4/System.map root@orangepiplus:/mnt/sda2/src/linux-6.15.4# sudo make M=drivers/net/wireless/realtek/rtw88 modules_install make[1]: Entering directory '/mnt/sda2/src/linux-6.15.4/drivers/net/wireless/realtek/rtw88' INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_core.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822b.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822bs.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822bu.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822c.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822cs.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8822cu.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723x.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723d.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723ds.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8723du.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821c.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821cs.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821cu.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_88xxa.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821a.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_8821au.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_sdio.ko INSTALL /lib/modules/6.15.4-edge-sunxi/updates/rtw88_usb.ko DEPMOD /lib/modules/6.15.4-edge-sunxi make[1]: Leaving directory '/mnt/sda2/src/linux-6.15.4/drivers/net/wireless/realtek/rtw88' sudo depmod -a But the resulting module failed loading again : root@orangepiplus:/mnt/sda2/src/linux-6.15.4# sudo modprobe rtw88_8821au modprobe: ERROR: could not insert 'rtw88_8821au': Exec format error Aug 24 12:08:53 orangepiplus kernel: module rtw88_core: .gnu.linkonce.this_module section size must match the kernel's built struct module size at run time It proves a structural mismatch again. Armbian built the 6.15.4-edge-sunxi kernel using Ubuntu's GCC 13 likely with plugins. GCC plugins randomize or instrument the layout of kernel structures — including struct module. It means, that you cannot reproduce the exact struct module layout unless you use the exact same GCC plugin configuration — which is not available to end users! Could it be fixed and what is the right approach to adding missing in-kernel modules from kernel sources or headers ?
-
https://linux-sunxi.org/Tanix_TX1 Piotr's github is easy enough to google for those who need it.
-
Help! I used your overlay, but nothing works for me. Orange pi zero 3 (Armbian Linux 6.12.35-current-sunxi64) overlay: /dts-v1/; /plugin/; / { compatible = "allwinner,sun50i-h616"; fragment@0 { target = <&spi1>; __overlay__ { status = "okay"; cs-gpios = <&pio 7 5 0>,<&pio 2 15 0>; /*PH5=CS0 for lcd, PC15=CS1 for touch*/ display: display@0 { compatible = "ilitek,ili9341"; reg = <0>; pinctrl-names = "default"; spi-max-frequency = <20000000>; rotate = <270>; bgr = <0>; fps = <30>; buswidth = <8>; regwidth = <16>; height = <480>; width = <320>; reset-gpios = <&pio 2 14 1>; /* PC14 */ dc-gpios = <&pio 2 6 0>; /* PC6 */ debug = <3>; init = <0x10000b0 0x00 // Interface Mode Control 0x1000011 // Sleep Out 0x20000ff // Delay (255ms) 0x10000C0 0x0D 0x0D // Power Control 1 0x10000C1 0x43 // Power Control 2 0x10000C5 0x00 0x48 0x80 // VCOM Control 1 0x10000C7 0x00 // VCOM Control 2 0x1000036 0x28 // Memory Access Control (Rotacao) 0x100003A 0x55 // Pixel Format Set (16bit) 0x10000B1 0xB0 0x11 // Frame Rate Control 0x10000F0 0x01 // Enable Extended Comand Set 0x10000F6 0x00 0x01 0x32 // SPI ilInterface Control 0x1000026 0x01 // Gamma Set 0x10000E0 0x0F 0x31 0x2B 0x0C 0x0E 0x08 0x4E 0xF1 0x37 0x07 0x10 0x03 0x0E 0x09 0x00 // Positive Gamma Correction 0x10000E1 0x00 0x0E 0x14 0x03 0x11 0x07 0x31 0xC1 0x48 0x08 0x0F 0x0C 0x31 0x36 0x0F // Negative Gamma Correction 0x10000B6 0x02 0x02 0x3B // Display Function Control 0x1000011 // Sleep Out 0x20000ff // Delay (255ms) 0x1000029>; // Display ON }; ads7846: ads7846@1 { compatible = "ti,ads7846"; reg = <1>; pinctrl-names = "default"; spi-max-frequency = <1000000>; interrupt-parent = <&pio>; interrupts = <2 10 2>; /* PC10 - IRQ */ pendown-gpio = <&pio 2 10 1>; /* PC10 */ /* OPTIONS */ ti,x-min = /bits/ 16 <0>; ti,y-min = /bits/ 16 <0>; ti,x-max = /bits/ 16 <0xFFF>; ti,y-max = /bits/ 16 <0xFFF>; ti,pressure-min = /bits/ 16 <0>; ti,pressure-max = /bits/ 16 <0xFFF>; ti,x-plate-ohms = /bits/ 16 <400>; ti,swap-xy = <1>; }; }; }; }; Here's what I got in the console: root@orangepizero3:~# dmesg | grep -i "spi\|ili9486\|fb_" [ 1.496981] sun6i-spi 5010000.spi: Error applying setting, reverse things back [ 1.497500] sun6i-spi 5011000.spi: cannot register SPI host [ 1.504082] sun6i-spi 5010000.spi: Error applying setting, reverse things back [ 1.504504] sun6i-spi 5011000.spi: cannot register SPI host [ 1.512160] spi-nor spi0.0: supply vdd not found, using dummy regulator [ 6.677433] fb_ili9341: module is from the staging directory, the quality is unknown, you have been warned. [ 6.677997] fb_ili9341 spi1.0: fbtft_property_value: width = 320 [ 6.678010] fb_ili9341 spi1.0: fbtft_property_value: height = 480 [ 6.678018] fb_ili9341 spi1.0: fbtft_property_value: regwidth = 16 [ 6.678025] fb_ili9341 spi1.0: fbtft_property_value: buswidth = 8 [ 6.678033] fb_ili9341 spi1.0: fbtft_property_value: debug = 3 [ 6.678041] fb_ili9341 spi1.0: fbtft_property_value: rotate = 270 [ 6.678049] fb_ili9341 spi1.0: fbtft_property_value: fps = 30 [ 6.678234] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'reset' GPIO [ 6.678260] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'dc' GPIO [ 6.678279] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'rd' GPIO [ 6.678294] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'wr' GPIO [ 6.678310] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'cs' GPIO [ 6.678325] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'latch' GPIO [ 6.678340] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678354] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678369] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678383] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678398] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678412] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678426] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678441] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678456] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678470] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678485] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678499] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678514] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678528] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678543] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678557] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678572] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678587] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678604] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678621] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678638] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678655] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678672] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678689] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678706] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678723] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678740] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678757] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678774] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678791] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678808] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678825] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678842] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678859] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678876] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678893] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678910] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678927] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678944] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.678961] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.678978] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.678995] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.679012] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.679029] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.679046] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.679063] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'db' GPIO [ 6.679080] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'led' GPIO [ 6.679098] fb_ili9341 spi1.0: fbtft_request_one_gpio: 'aux' GPIO [ 6.701957] ads7846 spi1.1: supply vcc not found, using dummy regulator [ 6.703555] ads7846 spi1.1: touchscreen, irq 77 [ 6.704030] input: ADS7846 Touchscreen as /devices/platform/soc/5011000.spi/spi_master/spi1/spi1.1/input/input0 [ 6.801201] fb_ili9341 spi1.0: init: write_register: [ 6.801229] fb_ili9341 spi1.0: buf[0] = B0 [ 6.801238] fb_ili9341 spi1.0: buf[1] = 00 [ 6.801397] fb_ili9341 spi1.0: init: write_register: [ 6.801406] fb_ili9341 spi1.0: buf[0] = 11 [ 6.801441] fb_ili9341 spi1.0: init: msleep(255) [ 7.073196] fb_ili9341 spi1.0: init: write_register: [ 7.073241] fb_ili9341 spi1.0: buf[0] = C0 [ 7.073265] fb_ili9341 spi1.0: buf[1] = 0D [ 7.073284] fb_ili9341 spi1.0: buf[2] = 0D [ 7.073489] fb_ili9341 spi1.0: init: write_register: [ 7.073510] fb_ili9341 spi1.0: buf[0] = C1 [ 7.073530] fb_ili9341 spi1.0: buf[1] = 43 [ 7.073701] fb_ili9341 spi1.0: init: write_register: [ 7.073721] fb_ili9341 spi1.0: buf[0] = C5 [ 7.073743] fb_ili9341 spi1.0: buf[1] = 00 [ 7.073762] fb_ili9341 spi1.0: buf[2] = 48 [ 7.073781] fb_ili9341 spi1.0: buf[3] = 80 [ 7.073952] fb_ili9341 spi1.0: init: write_register: [ 7.073973] fb_ili9341 spi1.0: buf[0] = C7 [ 7.073994] fb_ili9341 spi1.0: buf[1] = 00 [ 7.074163] fb_ili9341 spi1.0: init: write_register: [ 7.074183] fb_ili9341 spi1.0: buf[0] = 36 [ 7.074203] fb_ili9341 spi1.0: buf[1] = 28 [ 7.074372] fb_ili9341 spi1.0: init: write_register: [ 7.074392] fb_ili9341 spi1.0: buf[0] = 3A [ 7.074414] fb_ili9341 spi1.0: buf[1] = 55 [ 7.074581] fb_ili9341 spi1.0: init: write_register: [ 7.074601] fb_ili9341 spi1.0: buf[0] = B1 [ 7.074622] fb_ili9341 spi1.0: buf[1] = B0 [ 7.074641] fb_ili9341 spi1.0: buf[2] = 11 [ 7.074809] fb_ili9341 spi1.0: init: write_register: [ 7.074829] fb_ili9341 spi1.0: buf[0] = F0 [ 7.074850] fb_ili9341 spi1.0: buf[1] = 01 [ 7.075018] fb_ili9341 spi1.0: init: write_register: [ 7.075038] fb_ili9341 spi1.0: buf[0] = F6 [ 7.075058] fb_ili9341 spi1.0: buf[1] = 00 [ 7.075077] fb_ili9341 spi1.0: buf[2] = 01 [ 7.075096] fb_ili9341 spi1.0: buf[3] = 32 [ 7.075264] fb_ili9341 spi1.0: init: write_register: [ 7.075285] fb_ili9341 spi1.0: buf[0] = 26 [ 7.075306] fb_ili9341 spi1.0: buf[1] = 01 [ 7.075474] fb_ili9341 spi1.0: init: write_register: [ 7.075494] fb_ili9341 spi1.0: buf[0] = E0 [ 7.075515] fb_ili9341 spi1.0: buf[1] = 0F [ 7.075534] fb_ili9341 spi1.0: buf[2] = 31 [ 7.075553] fb_ili9341 spi1.0: buf[3] = 2B [ 7.075571] fb_ili9341 spi1.0: buf[4] = 0C [ 7.075590] fb_ili9341 spi1.0: buf[5] = 0E [ 7.075609] fb_ili9341 spi1.0: buf[6] = 08 [ 7.075628] fb_ili9341 spi1.0: buf[7] = 4E [ 7.075647] fb_ili9341 spi1.0: buf[8] = F1 [ 7.075665] fb_ili9341 spi1.0: buf[9] = 37 [ 7.075684] fb_ili9341 spi1.0: buf[10] = 07 [ 7.075703] fb_ili9341 spi1.0: buf[11] = 10 [ 7.075722] fb_ili9341 spi1.0: buf[12] = 03 [ 7.075742] fb_ili9341 spi1.0: buf[13] = 0E [ 7.075761] fb_ili9341 spi1.0: buf[14] = 09 [ 7.075780] fb_ili9341 spi1.0: buf[15] = 00 [ 7.075954] fb_ili9341 spi1.0: init: write_register: [ 7.075974] fb_ili9341 spi1.0: buf[0] = E1 [ 7.075995] fb_ili9341 spi1.0: buf[1] = 00 [ 7.076014] fb_ili9341 spi1.0: buf[2] = 0E [ 7.076034] fb_ili9341 spi1.0: buf[3] = 14 [ 7.076053] fb_ili9341 spi1.0: buf[4] = 03 [ 7.076071] fb_ili9341 spi1.0: buf[5] = 11 [ 7.076090] fb_ili9341 spi1.0: buf[6] = 07 [ 7.076109] fb_ili9341 spi1.0: buf[7] = 31 [ 7.076128] fb_ili9341 spi1.0: buf[8] = C1 [ 7.076147] fb_ili9341 spi1.0: buf[9] = 48 [ 7.076165] fb_ili9341 spi1.0: buf[10] = 08 [ 7.076184] fb_ili9341 spi1.0: buf[11] = 0F [ 7.076203] fb_ili9341 spi1.0: buf[12] = 0C [ 7.076222] fb_ili9341 spi1.0: buf[13] = 31 [ 7.076241] fb_ili9341 spi1.0: buf[14] = 36 [ 7.076260] fb_ili9341 spi1.0: buf[15] = 0F [ 7.076432] fb_ili9341 spi1.0: init: write_register: [ 7.076452] fb_ili9341 spi1.0: buf[0] = B6 [ 7.076473] fb_ili9341 spi1.0: buf[1] = 02 [ 7.076493] fb_ili9341 spi1.0: buf[2] = 02 [ 7.076511] fb_ili9341 spi1.0: buf[3] = 3B [ 7.076679] fb_ili9341 spi1.0: init: write_register: [ 7.076699] fb_ili9341 spi1.0: buf[0] = 11 [ 7.076797] fb_ili9341 spi1.0: init: msleep(255) [ 7.361180] fb_ili9341 spi1.0: init: write_register: [ 7.361202] fb_ili9341 spi1.0: buf[0] = 29 [ 7.490659] fb_ili9341 spi1.0: Display update: 2321 kB/s, fps=0 [ 7.491267] graphics fb0: fb_ili9341 frame buffer, 480x320, 300 KiB video memory, 16 KiB buffer memory, fps=31, spi1.0 at 20 MHz I'm connecting exactly according to this picture:
-
You could try to add one of these in armbianEnv.txt extraargs=pci=pcie_gen2 extraargs=nvme_core.io_timeout=4294967295 extraargs=nvme_core.default_ps_max_latency_us=0
-
where can i find the official image for tanix tx1?
- Yesterday
-
I also encountered this trouble with image corruption. Here's my small research I've made: 1. This appears to be for newer images witch use GPT schema instead of MBR one. I've tried to flash same SD cards (Transcend 1x A1 & 2x A2 class) with orangepi zero2w image from community support build which still comes with MBR schema and had no trouble at all. I've used Rufus 4.9, USBImager and dd from WSL2 for tests. Whoever, images for orangepi 3b & orangepi 5plus already comes with GPT partition schema and flashing them with any software in all combinations of eject time or way (safe or not) always lead to broken GPT table and initramfs on SBC boot. 2. I'm using WSL2 with Ubuntu 24 LTS and usbipd for linking USB devices. After SD flash on Windows side with Rufus or USBImager I'm attach SD card to WSL2 and check it state immediately (on attach windows side does not see usb device anymore). Here's log of this actions (I'm out of free SD cards so first part with image will be from regular USB flash drive). Rufus output: Opened \\.\PhysicalDrive2 for exclusive write access Requesting logical volume handle... ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Opened \\.\PhysicalDrive2 for shared write access Timeout while waiting for logical drive Found USB 3.0 device 'Kingston DT microDuo 3C USB Device' (0951:16AE) No logical drive found (unpartitioned?) 1 device found No volume information for drive 0x82 Disk type: Removable, Disk size: 64 GB, Sector size: 512 bytes Cylinders: 7538, Tracks per cylinder: 255, Sectors per track: 63 Partition type: GPT, NB Partitions: 1 Disk GUID: {61DF6BA5-465D-4529-80C4-5D4BB9D0852F} Max parts: 128, Start Offset: 1048576, Usable = 62007524864 bytes Partition 1: Type: Linux Boot Partition (ARM64) Name: 'rootfs' Detected File System: ext4 ID: {22DE0E86-86CD-4366-AF3C-07E25D0E77FA} Size: 5.9 GB (6382682112 bytes) Start Sector: 32768, Attributes: 0x0000000000000000 WSL2 bind & attach process: PS C:\Users\mevep> usbipd list Connected: BUSID VID:PID DEVICE STATE 2-8 0403:6001 USB Serial Converter Not shared 2-23 0951:16ae USB Mass Storage Device Shared PS C:\Users\mevep> usbipd bind --busid 2-23 PS C:\Users\mevep> usbipd attach --wsl --busid=2-23 usbipd: info: Using WSL distribution 'Ubuntu-20.04' to attach; the device will be available in all WSL 2 distributions. usbipd: info: Loading vhci_hcd module. usbipd: info: Detected networking mode 'nat'. usbipd: info: Using IP address 172.21.16.1 to reach the host. Rufus output after attach to WSL2: 0 devices found WSL2 sudo parted -l output: /mnt/c/Users/mevep$ sudo parted -l Error: The primary GPT table is corrupt, but the backup appears OK, so that will be used. OK/Cancel? OK Model: Kingston DT microDuo 3C (scsi) Disk /dev/sdg: 62.0GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 16.8MB 6399MB 6383MB ext4 rootfs Trying to mount: /mnt/c/Users/mevep$ sudo mount /dev/sdg1 /mnt/mp mount: /mnt/mp: special device /dev/sdg1 does not exist. dmesg(1) may have more information after failed mount system call. gdisk output: /mnt/c/Users/mevep$ sudo gdisk /dev/sdg GPT fdisk (gdisk) version 1.0.10 Caution! After loading partitions, the CRC doesn't check out! Warning! Main partition table CRC mismatch! Loaded backup partition table instead of main partition table! Warning! One or more CRCs don't match. You should repair the disk! Main header: OK Backup header: OK Main partition table: ERROR Backup partition table: OK Partition table scan: MBR: protective BSD: not present APM: not present GPT: damaged **************************************************************************** Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk verification and recovery are STRONGLY recommended. **************************************************************************** Recovery/transformation command (? for help): v Problem: The CRC for the main partition table is invalid. This table may be corrupt. Consider loading the backup partition table ('c' on the recovery & transformation menu). This report may be a false alarm if you've already corrected other problems. Warning: There is a gap between the main metadata (sector 1) and the main partition table (sector 2016). This is helpful in some exotic configurations, but is generally ill-advised. Using 'j' on the experts' menu can adjust this gap. Identified 1 problems! Output after gdisk r c w commands (everything is ok now): Recovery/transformation command (? for help): c Warning! This will probably do weird things if you've converted an MBR to GPT form and haven't yet saved the GPT! Proceed? (Y/N): Y Recovery/transformation command (? for help): W Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdg. The operation has completed successfully. /mnt/c/Users/mevep$ sudo parted -l Model: Kingston DT microDuo 3C (scsi) Disk /dev/sdg: 62.0GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 16.8MB 6399MB 6383MB ext4 rootfs /mnt/c/Users/mevep$ sudo mount /dev/sdg1 /mnt/mp /mnt/c/Users/mevep$ ls /mnt/mp bin boot etc lib lost+found mnt proc run sbin.usr-is-merged snap sys usr bin.usr-is-merged dev home lib.usr-is-merged media opt root sbin selinux srv tmp var Also I have UART logs of trying to boot from SD card SBC without any changes after image burn, but nothing interesting there - it just goes initramfs after kernel boot start process. Added log file to this post for orangepi 3b. Same appears for orangepi 5plus. Image built with armbian-build commit 1d89b0e1e0e6a8b053a94a41a8d0b961f38a9fae by me. COM6_2025_08_21.txtCOM6_2025_08_21.txt 3. After SD card recovery everything boots and works fine. Tested on custom build images with armbian-build commit 1d89b0e1e0e6a8b053a94a41a8d0b961f38a9fae for orangepi 3b & 5plus. 4. I'm on Windows 11 24H2 Maybe it will help somehow :^)
-
No Ethernet or Wifi on sun8i-h3-orangepi-zero-plus2.dtb
Ken Restivo replied to Ken Restivo's topic in Allwinner sunxi
This is an orange Pi zero with an H3 chip. I can't make sense out of the part numbers. But it's a zero, it is square, it has an ethernet and wifi, and has an H3 chip right on the top of the thing. The device tree says model = "Xunlong Orange Pi PC Plus"; compatible = "xunlong,orangepi-pc-plus\0allwinner,sun8i-h3"; The build I was running is the latest I could find [ 0.000000] Linux version 6.12.35-current-sunxi (build@armbian) (arm-linux-gnueabihf-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP Fri Jun 27 10:11:46 UTC 2025 So whatever it says in the boot log and in the armbian monitor (which I included as a link in my original post) is what this is. And there is no ethernet or wifi on it, nor has there ever been since I bought it maybe 4 or 5 years ago. Every few years I try the latest build and check to see if that fixes it, and it never seems to happen. arbmianmonitor.log bootmaybeowkring.log- 3 replies
-
- Orange Pi Zero 2
- Orange Pi Zero Plus
-
(and 1 more)
Tagged with:
-
bananaoi-m5, Armbian 25.8.1 bookworm installed I can login via ssh as first user, gene, and sudo -i just fine. Buuuttttttt, at reboot the local screen ask's for the pw for amandabackup, a user lock down tightly which has never had a pw assigned. as its intended to be pw--less for the amanda backup system. What miss-configure can cause this????? Also I ordered 2 more of the keyboard/mouse combo''s which are the same as I'm using with a similar install for klipper running a 3d printer, but the dongle doesn't init when plugged in ack dmesg output, refusing its on discovery assigned address. So no keyboard/mouse is locally possible. I'll unpack the 2nd identical copy and see if its also broken. Switching back to an ultra- micro sized keyboard with a touchpad mouse works fine. And the second keyboard/mouse works as expected. The pw gizmo ask's for amandabackup's pw, I gave it my first user pw which it accepted logging me in normally. So I typed whoami and it responded gene. So wth is confusing the login requester????????? Many Thanks for any assistance. And why do I have to say solved in order to post when its not solved?? Counter productive to other readers.
-
What a PR is ? Could you be more specific about your suggestion ? In fact, could this module be included into the next 6.15 EDGE build ? CONFIG_RTW88_8821AU=m I don't know if this module is indeed functional (I want to test it). As it is concurrent with Armbian supplied 88XXau for the same hardware, one of them needs to be disabled in /etc/modprobe.d/ either: # cat blacklist-88XXau.conf blacklist 88XXau or # cat blacklist-RTW88_8821AU.conf blacklist rtw88_8821au
-
That is basically what I have been doing. I reconstructed image/partitions to have bootfs and rootfs separated. Typically format bootfs as simple FAT where you can fix things even on Windows computers maybe when SD-cards. For new fast SBCs I just have many partitions on NVMe where various Linux distros rootfs are and just copy or rename armbianEnv.txt which is then essentially only a UUID of a rootfs. When I know the SBC well enough, it is more the kernel only that matters, so i made a extlinux.conf generator so I can select a kernel via U-Boot serial console. I don't see what A+B brings me as I use Btrfs for rootfs and use snapper to make 'last-known-good' snapshots and also transfer those to NAS or so. If you want totally unattended, then A+B is an option, look at Android as well I would say. But more towards PC like systems, one can put efi bootloader (efi-grub) on the bootFAT, that allows you to select last-known-good more or less if you deploy snapshots. I usually do update in-place, so more like rolling release, but you can also do updates on a new read-write snapshot and fallback if it would fail to boot, see https://kubic.opensuse.org/documentation/man-pages/transactional-update.8.html for example how that works. U-Boot also has options I think to get to last-known-good automatically, but I don't know how that would work. For my stuff at home, it is good enough that I can quickly go back to older snapshot and that works for more than a decade on my PCs, so I do the same on SBCs/embedded, as long as they have a serial console cable (or HDMI,keyboard). For the NanoPi-NEO I also had Btrfs capable U-Boot, so then U-Boot can directly boot a certain rootfs partition, but it is not really default, so I keep an extra bootFAT.
-
Fresh Orangepi 5 image, this one: https://netcup-01.armbian.com/incoming/efectn/orangepi5/archive/Armbian_25.8.1_Orangepi5_noble_vendor_6.1.115_gnome_desktop.img.xz Your setup could be broken to some degree, but hard to tell what is missing.
-
Getting into buildroot and yocto seems a bit too much for me to get an A+B style update possibility. I would like to stick with the quality images provided by Armbian. The following applies to a NanoPi-NEO3 others SBC might have different partition layouts. From what I understood is that uboot looks for /boot in /dev/mmcblk0p1 reads the boot.cmd/scr and armbianEnv.txt and then boots the kernel accordingly. The armbianEnv.txt seems to point the kernel to the root partition using the rootdev directive. If /dev/mmcblk0p1 would now only hold /boot would it be possible to point to a different partition for the rootfs using armbianEnv.txt? If so I could imagine changing the partition layout to the following: /dev/mmcblk0: /dev/mmcblk0p1: boot partition /dev/mmcblk0p2: rootfs partitionA /dev/mmcblk0p3: rootfs partitionB /dev/mmcblk0pX: multiple more partitions that survive updates Too now allow consistency with the rootfs partitions also the boot partition directory structure would slightly change. It would contain 2 directories: /bootA, /bootB AND a hardlink /boot which either points to /bootA or /bootB In the running rootfs the fitting /boot is mounted via a bind mount hoping normal apt-get updates can deal with this. This would allow creating a rootfs by updating and verifying everything works locally and then creating an image from it. Now to OTA a relatively simple script running from rootfsA can download a new rootfs image/file structure and place it in the partition of rootfsB. Same with the new boot partition just into /bootB. The values of the armbianEnv.txt from the new boot image always point to the corresponding rootfs partition either because the image was already built for this or the script dynamically adjusts them. Same goes for fstab, machine-id, ssh identity and other rootfs specifics. The script will then verify that the write worked to avoid sd card issues. The (almost) atomic operation for switching the systems would be changing the hardlink of /boot to the /bootB directory and reboot. This idea will not detect any boot issues and revert automatically back as uboot is not involved. Also this only works if uboot is still compatible with the new boot files provided. But an additional new uboot image could also be provided during the update. Reverting can be done manually (relatively fast) by changing the hardlink back and rewriting a previously created backup copy of a might be updated uboot image. Independent of the fact that buildroot, yocto, rauc, mender… systems have a better feature set, do you think this could work?
-
Armbian doesnt seem to see sata harddrives.
Popolon replied to DontMindMe's topic in Radxa Rock 5 ITX
Today armbian-config doesn't show other kernels, it's impossible to switch. * Show only mainstream kernels on the list? => no * No other kernels available! => ok -
Yes, I did read that. I was also thinking maybe the decompression on-the-fly could be a point of failure. Just now, I installed USBImager and wrote the image to a uSD. No presets applied (.not_looged_in_yet) First boot went smoothly. I updated with armbian-upgrade and rebooted and all looked OK. 🤷🏻♂️ Since I changed 2 things (using USBImager and no presets) I can't say what helped.
-
It would be interesting to compare corrupt and non corrupt cards, including partition tables, etc. Windows might be playing bad with partition tables - if one only inserts ESXi boot disk into windows machine, such disk becomes non bootable. AFAIR this is because ESXi relies on records order in the gpt table of the disk, while windows strips away blank records so that if eg second and third records are blank then windows will move the fourth record to the second place, while ESXi relies on the fourth record in a table. I personally met this issue a few years ago and it took a while to find the solution of reordering gpt table records back to restore ESXi boot.