StormMaster Posted March 14, 2022 Share Posted March 14, 2022 (edited) Hello! I have NanoPi M4 V2 4GB with EMMC installed (no sd card currently) and i got device bricked after installing updates. Here is the logs via TTL : Spoiler DDR Version 1.24 20191016 In channel 0 CS = 0 MR0=0x98 MR4=0x3 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 CS = 1 MR0=0x18 MR4=0x3 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 channel 1 CS = 0 MR0=0x98 MR4=0x3 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 CS = 1 MR0=0x18 MR4=0x3 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 channel 0 training pass! channel 1 training pass! change freq to 416MHz 0,1 Channel 0: LPDDR4,416MHz Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB Channel 1: LPDDR4,416MHz Bus Width=32 Col=10 Bank=8 Row=15/15 CS=2 Die Bus-Width=16 Size=2048MB 256B stride channel 0 CS = 0 MR0=0x98 MR4=0x3 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 CS = 1 MR0=0x18 MR4=0x82 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 channel 1 CS = 0 MR0=0x98 MR4=0x3 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 CS = 1 MR0=0x18 MR4=0x82 MR5=0xFF MR8=0x8 MR12=0x72 MR14=0x72 MR18=0x0 MR19=0x0 MR24=0x8 MR25=0x0 channel 0 training pass! channel 1 training pass! channel 0, cs 0, advanced training done channel 0, cs 1, advanced training done channel 1, cs 0, advanced training done channel 1, cs 1, advanced training done change freq to 856MHz 1,0 ch 0 ddrconfig = 0x101, ddrsize = 0x2020 ch 1 ddrconfig = 0x101, ddrsize = 0x2020 pmugrf_os_reg[2] = 0x3AA1FAA1, stride = 0xD ddr_set_rate to 328MHZ ddr_set_rate to 666MHZ ddr_set_rate to 928MHZ channel 0, cs 0, advanced training done channel 0, cs 1, advanced training done channel 1, cs 0, advanced training done channel 1, cs 1, advanced training done channel 1, cs 0, dq 31 RISK!!! TdiVW_total violate spec channel 1, cs 1, dq 31 RISK!!! TdiVW_total violate spec ddr_set_rate to 416MHZ, ctl_index 0 ddr_set_rate to 856MHZ, ctl_index 1 support 416 856 328 666 928 MHz, current 856MHz OUT Boot1: 2019-03-14, version: 1.19 CPUId = 0x0 ChipType = 0x10, 250 SdmmcInit=2 0 BootCapSize=100000 UserCapSize=59640MB FwPartOffset=2000 , 100000 mmc0:cmd8,20 mmc0:cmd5,20 mmc0:cmd55,20 mmc0:cmd1,20 mmc0:cmd8,20 mmc0:cmd5,20 mmc0:cmd55,20 mmc0:cmd1,20 mmc0:cmd8,20 mmc0:cmd5,20 mmc0:cmd55,20 mmc0:cmd1,20 SdmmcInit=0 1 StorageInit ok = 68243 SecureMode = 0 SecureInit read PBA: 0x4 SecureInit read PBA: 0x404 SecureInit read PBA: 0x804 SecureInit read PBA: 0xc04 SecureInit read PBA: 0x1004 SecureInit read PBA: 0x1404 SecureInit read PBA: 0x1804 SecureInit read PBA: 0x1c04 SecureInit ret = 0, SecureMode = 0 atags_set_bootdev: ret:(0) GPT 0x3380ec0 signature is wrong recovery gpt... GPT 0x3380ec0 signature is wrong recovery gpt fail! LoadTrust Addr:0x4000 No find bl30.bin No find bl32.bin Load uboot, ReadLba = 2000 Load OK, addr=0x200000, size=0xc9fec RunBL31 0x40000 NOTICE: BL31: v1.3(debug):42583b6 NOTICE: BL31: Built : 07:55:13, Oct 15 2019 NOTICE: BL31: Rockchip release version: v1.1 INFO: GICv3 with legacy support detected. ARM GICV3 driver initialized in EL3 INFO: Using opteed sec cpu_context! INFO: boot cpu mask: 0 INFO: plat_rockchip_pmu_init(1190): pd status 3e INFO: BL31: Initializing runtime services WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK ERROR: Error initializing runtime service opteed_fast INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x200000 INFO: SPSR = 0x3c9 U-Boot 2019.10-armbian (Jan 05 2020 - 23:44:55 +0100) Model: FriendlyElec NanoPi M4V2 DRAM: 3.9 GiB MMC: dwmmc@fe320000: 1, sdhci@fe330000: 0 Loading Environment from EXT4... ** File not found /boot/boot.env ** ** Unable to read "/boot/boot.env" from mmc0:1 ** In: serial@ff1a0000 Out: serial@ff1a0000 Err: serial@ff1a0000 Model: FriendlyElec NanoPi M4V2 rockchip_dnl_key_pressed: adc_channel_single_shot fail! Net: eth0: ethernet@fe300000 Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0(part 0) is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 2940 bytes read in 19 ms (150.4 KiB/s) ## Executing script at 00500000 Boot script loaded from mmc 0 191 bytes read in 15 ms (11.7 KiB/s) 10421801 bytes read in 1091 ms (9.1 MiB/s) 20770824 bytes read in 2153 ms (9.2 MiB/s) libfdt fdt_check_header(): FDT_ERR_BADMAGIC No FDT memory address configured. Please configure the FDT address via "fdt addr <address>" command. Aborting! 2698 bytes read in 36 ms (72.3 KiB/s) Applying kernel provided DT fixup script (rockchip-fixup.scr) ## Executing script at 39000000 ## Loading init Ramdisk from Legacy Image at 04000000 ... Image Name: uInitrd Image Type: AArch64 Linux RAMDisk Image (gzip compressed) Data Size: 10421737 Bytes = 9.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ERROR: Did not find a cmdline Flattened Device Tree Loading Ramdisk to f550e000, end f5efe5e9 ... OK FDT and ATAGS support not compiled in - hanging ### ERROR ### Please RESET the board ### Seems to be following errors are important: Loading Environment from EXT4... ** File not found /boot/boot.env ** libfdt fdt_check_header(): FDT_ERR_BADMAGIC ERROR: Did not find a cmdline Flattened Device Tree FDT and ATAGS support not compiled in - hanging Guys please help! How can it be happened and how can i fix it? Thank you for advance! Edited March 14, 2022 by StormMaster 0 Quote Link to comment Share on other sites More sharing options...
gilarelli Posted March 17, 2022 Share Posted March 17, 2022 Hey, just solved the same issue yesterday evening (bricked nanopi v1 after kernel update last sunday). Here is what I did to solve it: create a SDCard boot disk plug the SDCard and boot with it (it will bypass the eMMC card) set the root password and you should be able to ssh into it mount the eMMC filesystem rw chroot in the mount (lol) - with the right folder binded before (proc & sys) wget some files - for me it was those 3: linux-dtb-legacy-rk3399_21.08.2_arm64.deb linux-headers-legacy-rk3399_21.08.2_arm64.deb linux-image-legacy-rk3399_21.08.2_arm64.deb from here: http://mirrors.netix.net/armbian/apt/pool/main/l/linux-4.4.213-rk3399/ (the new ones were still in /var/cache/apt/archives so I knew which ones were upgraded - and for some reason, I was unable to use apt-get in the chroot, that's why I had to download them directly - and I choose those versions because I thought that going back to the previous versions was enough) dpkg -i those files halt the nanopi and remove the SDCard restart and voilà I installed manually the linux-libc-dev package once booted with as I couldn't find it for downloading: # sudo apt-get install linux-libc-dev=21.08.2 -V To be sure that those packages will not be upgraded with future upgrades, I put a hold on them with "apt-mark hold": # apt-mark hold linux-libc-dev linux-dtb-legacy-rk3399 linux-headers-legacy-rk3399 linux-image-legacy-rk3399 # dpkg -l | grep "^hi" hi linux-dtb-legacy-rk3399 21.08.2 arm64 Linux DTB, version 4.4.213-rk3399 hi linux-headers-legacy-rk3399 21.08.2 arm64 Linux kernel headers for 4.4.213-rk3399 on arm64 hi linux-image-legacy-rk3399 21.08.2 arm64 Linux kernel, version 4.4.213-rk3399 hi linux-libc-dev:arm64 21.08.2 arm64 Armbian Linux support headers for userspace development Feel free to ask if you want any more information! 1 Quote Link to comment Share on other sites More sharing options...
StormMaster Posted March 18, 2022 Author Share Posted March 18, 2022 Quote mount the eMMC filesystem rw Failed on this step. Unfortunately partition became broken. I lost a few hours trying to fix it with system utilites and some extra software, repair superblocks and etc... NO USE. Very sad but this led to reinstall the system and upgrade from Buster to Bullseye. 0 Quote Link to comment Share on other sites More sharing options...
gilarelli Posted March 18, 2022 Share Posted March 18, 2022 Sorry for you... You reinstalled on the same eMMC? 0 Quote Link to comment Share on other sites More sharing options...
StormMaster Posted March 18, 2022 Author Share Posted March 18, 2022 Quote You reinstalled on the same eMMC? I understand that it could be hardware problems, but i have no choice. Hope corruption was caused during u-boot updating. 0 Quote Link to comment Share on other sites More sharing options...
CarlosGomes Posted March 18, 2022 Share Posted March 18, 2022 (edited) I'm having the same issue as @StormMaster. I was running buster with legacy kernel. Issue started happening after the latest apt upgrade. Will troubleshoot this later today. CG Edited March 18, 2022 by CarlosGomes 0 Quote Link to comment Share on other sites More sharing options...
gilarelli Posted March 19, 2022 Share Posted March 19, 2022 On 3/18/2022 at 11:47 AM, StormMaster said: I understand that it could be hardware problems, but i have no choice. Hope corruption was caused during u-boot updating. You should try the mmc app to check your eMMC disk if you haven't already: https://packages.debian.org/stretch/mmc-utils https://mirror.sjtu.edu.cn/armbian/pool/bullseye-utils/m/mmc-utils/ # mmc extcsd read /dev/mmcblk1 |grep EXT_CSD eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01 eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x01 eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01 More info here on the values returned: https://developer.toradex.com/knowledge-base/emmc-linux#Health_Status_as_Defined_in_the_eMMC_50_Standard_Onwards Quote Health Status as Defined in the eMMC 5.0 Standard Onwards Since e.MMC 5.0, device health status became part of the standard. It provides life time estimation for SLC and MLC areas as well as pre EOL status: Device life time estimation type A: life time estimation for SLC eraseblocks, provided in steps of 10%, e.g.: 0x02 means 10%-20% device life time used. Device life time estimation type B: life time estimation for MLC eraseblocks, provided in steps of 10%, e.g.: 0x02 means 10%-20% device life time used. Pre EOL information: overall status for reserved blocks. Possible values are: 0x00 - Not defined. 0x01 - Normal: consumed less than 80% of the reserved blocks. 0x02 - Warning: consumed 80% of the reserved blocks. 0x03 - Urgent: consumed 90% of the reserved blocks. 0 Quote Link to comment Share on other sites More sharing options...
StormMaster Posted March 19, 2022 Author Share Posted March 19, 2022 My eMMC seems to be very OK. I bought 64 GB version. mmc extcsd read /dev/mmcblk2 | head -n 3 \\I have eMMC ver 5.1 mmc extcsd read /dev/mmcblk2 | grep -A 1 LIFE \\You can find full response(without grep) below under spoiler Spoiler Card Supported Command sets [S_CMD_SET: 0x01] HPI Features [HPI_FEATURE: 0x01]: implementation based on CMD13 Background operations support [BKOPS_SUPPORT: 0x01] Max Packet Read Cmd [MAX_PACKED_READS: 0x3f] Max Packet Write Cmd [MAX_PACKED_WRITES: 0x3f] Data TAG support [DATA_TAG_SUPPORT: 0x01] Data TAG Unit Size [TAG_UNIT_SIZE: 0x02] Tag Resources Size [TAG_RES_SIZE: 0x00] Context Management Capabilities [CONTEXT_CAPABILITIES: 0x05] Large Unit Size [LARGE_UNIT_SIZE_M1: 0x07] Extended partition attribute support [EXT_SUPPORT: 0x03] Generic CMD6 Timer [GENERIC_CMD6_TIME: 0x0a] Power off notification [POWER_OFF_LONG_TIME: 0x3c] Cache Size [CACHE_SIZE] is 65536 KiB Background operations status [BKOPS_STATUS: 0x00] 1st Initialisation Time after programmed sector [INI_TIMEOUT_AP: 0x1e] Power class for 52MHz, DDR at 3.6V [PWR_CL_DDR_52_360: 0x00] Power class for 52MHz, DDR at 1.95V [PWR_CL_DDR_52_195: 0x00] Power class for 200MHz at 3.6V [PWR_CL_200_360: 0x00] Power class for 200MHz, at 1.95V [PWR_CL_200_195: 0x00] Minimum Performance for 8bit at 52MHz in DDR mode: [MIN_PERF_DDR_W_8_52: 0x00] [MIN_PERF_DDR_R_8_52: 0x00] TRIM Multiplier [TRIM_MULT: 0x02] Secure Feature support [SEC_FEATURE_SUPPORT: 0x55] Boot Information [BOOT_INFO: 0x07] Device supports alternative boot method Device supports dual data rate during boot Device supports high speed timing during boot Boot partition size [BOOT_SIZE_MULTI: 0x20] Access size [ACC_SIZE: 0x07] High-capacity erase unit size [HC_ERASE_GRP_SIZE: 0x01] i.e. 512 KiB High-capacity erase timeout [ERASE_TIMEOUT_MULT: 0x01] Reliable write sector count [REL_WR_SEC_C: 0x01] High-capacity W protect group size [HC_WP_GRP_SIZE: 0x10] i.e. 8192 KiB Sleep current (VCC) [S_C_VCC: 0x07] Sleep current (VCCQ) [S_C_VCCQ: 0x07] Sleep/awake timeout [S_A_TIMEOUT: 0x11] Sector Count [SEC_COUNT: 0x0747c000] Device is block-addressed Minimum Write Performance for 8bit: [MIN_PERF_W_8_52: 0x00] [MIN_PERF_R_8_52: 0x00] [MIN_PERF_W_8_26_4_52: 0x00] [MIN_PERF_R_8_26_4_52: 0x00] Minimum Write Performance for 4bit: [MIN_PERF_W_4_26: 0x00] [MIN_PERF_R_4_26: 0x00] Power classes registers: [PWR_CL_26_360: 0x00] [PWR_CL_52_360: 0x00] [PWR_CL_26_195: 0x00] [PWR_CL_52_195: 0x00] Partition switching timing [PARTITION_SWITCH_TIME: 0x02] Out-of-interrupt busy timing [OUT_OF_INTERRUPT_TIME: 0x0a] I/O Driver Strength [DRIVER_STRENGTH: 0x1f] Card Type [CARD_TYPE: 0x57] HS200 Single Data Rate eMMC @200MHz 1.8VI/O HS Dual Data Rate eMMC @52MHz 1.8V or 3VI/O HS eMMC @52MHz - at rated device voltage(s) HS eMMC @26MHz - at rated device voltage(s) CSD structure version [CSD_STRUCTURE: 0x02] Command set [CMD_SET: 0x00] Command set revision [CMD_SET_REV: 0x00] Power class [POWER_CLASS: 0x00] High-speed interface timing [HS_TIMING: 0x02] Erased memory content [ERASED_MEM_CONT: 0x00] Boot configuration bytes [PARTITION_CONFIG: 0x00] Not boot enable No access to boot partition Boot config protection [BOOT_CONFIG_PROT: 0x00] Boot bus Conditions [BOOT_BUS_CONDITIONS: 0x00] High-density erase group definition [ERASE_GROUP_DEF: 0x01] Boot write protection status registers [BOOT_WP_STATUS]: 0x00 Boot Area Write protection [BOOT_WP]: 0x00 Power ro locking: possible Permanent ro locking: possible ro lock status: not locked User area write protection register [USER_WP]: 0x00 FW configuration [FW_CONFIG]: 0x00 RPMB Size [RPMB_SIZE_MULT]: 0x20 Write reliability setting register [WR_REL_SET]: 0x1f user area: the device protects existing data if a power failure occurs during a write operation partition 1: the device protects existing data if a power failure occurs during a write operation partition 2: the device protects existing data if a power failure occurs during a write operation partition 3: the device protects existing data if a power failure occurs during a write operation partition 4: the device protects existing data if a power failure occurs during a write operation Write reliability parameter register [WR_REL_PARAM]: 0x14 Device supports the enhanced def. of reliable write Enable background operations handshake [BKOPS_EN]: 0x00 H/W reset function [RST_N_FUNCTION]: 0x00 HPI management [HPI_MGMT]: 0x01 Partitioning Support [PARTITIONING_SUPPORT]: 0x07 Device support partitioning feature Device can have enhanced tech. Max Enhanced Area Size [MAX_ENH_SIZE_MULT]: 0x000e8f i.e. 30531584 KiB Partitions attribute [PARTITIONS_ATTRIBUTE]: 0x00 Partitioning Setting [PARTITION_SETTING_COMPLETED]: 0x00 Device partition setting NOT complete General Purpose Partition Size [GP_SIZE_MULT_4]: 0x000000 [GP_SIZE_MULT_3]: 0x000000 [GP_SIZE_MULT_2]: 0x000000 [GP_SIZE_MULT_1]: 0x000000 Enhanced User Data Area Size [ENH_SIZE_MULT]: 0x000000 i.e. 0 KiB Enhanced User Data Start Address [ENH_START_ADDR]: 0x00000000 i.e. 0 bytes offset Bad Block Management mode [SEC_BAD_BLK_MGMNT]: 0x00 Periodic Wake-up [PERIODIC_WAKEUP]: 0x00 Program CID/CSD in DDR mode support [PROGRAM_CID_CSD_DDR_SUPPORT]: 0x01 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[127]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[126]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[125]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[124]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[123]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[122]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[121]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[120]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[119]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[118]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[117]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[116]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[115]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[114]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[113]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[112]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[111]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[110]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[109]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[108]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[107]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[106]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[105]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[104]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[103]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[102]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[101]]: 0x05 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[100]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[99]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[98]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[97]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[96]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[95]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[94]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[93]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[92]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[91]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[90]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[89]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[88]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[87]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[86]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[85]]: 0x01 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[84]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[83]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[82]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[81]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[80]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[79]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[78]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[77]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[76]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[75]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[74]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[73]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[72]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[71]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[70]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[69]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[68]]: 0xc8 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[67]]: 0xc8 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[66]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[65]]: 0x00 Vendor Specific Fields [VENDOR_SPECIFIC_FIELD[64]]: 0x0f Native sector size [NATIVE_SECTOR_SIZE]: 0x00 Sector size emulation [USE_NATIVE_SECTOR]: 0x00 Sector size [DATA_SECTOR_SIZE]: 0x00 1st initialization after disabling sector size emulation [INI_TIMEOUT_EMU]: 0x00 Class 6 commands control [CLASS_6_CTRL]: 0x00 Number of addressed group to be Released[DYNCAP_NEEDED]: 0x00 Exception events control [EXCEPTION_EVENTS_CTRL]: 0x0000 Exception events status[EXCEPTION_EVENTS_STATUS]: 0x0000 Extended Partitions Attribute [EXT_PARTITIONS_ATTRIBUTE]: 0x0000 Context configuration [CONTEXT_CONF[51]]: 0x00 Context configuration [CONTEXT_CONF[50]]: 0x00 Context configuration [CONTEXT_CONF[49]]: 0x00 Context configuration [CONTEXT_CONF[48]]: 0x00 Context configuration [CONTEXT_CONF[47]]: 0x00 Context configuration [CONTEXT_CONF[46]]: 0x00 Context configuration [CONTEXT_CONF[45]]: 0x00 Context configuration [CONTEXT_CONF[44]]: 0x00 Context configuration [CONTEXT_CONF[43]]: 0x00 Context configuration [CONTEXT_CONF[42]]: 0x00 Context configuration [CONTEXT_CONF[41]]: 0x00 Context configuration [CONTEXT_CONF[40]]: 0x00 Context configuration [CONTEXT_CONF[39]]: 0x00 Context configuration [CONTEXT_CONF[38]]: 0x00 Context configuration [CONTEXT_CONF[37]]: 0x00 Packed command status [PACKED_COMMAND_STATUS]: 0x00 Packed command failure index [PACKED_FAILURE_INDEX]: 0x00 Power Off Notification [POWER_OFF_NOTIFICATION]: 0x01 Control to turn the Cache ON/OFF [CACHE_CTRL]: 0x01 eMMC Firmware Version: eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01 eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x01 eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01 Command Queue Support [CMDQ_SUPPORT]: 0x01 Command Queue Depth [CMDQ_DEPTH]: 16 Command Enabled [CMDQ_MODE_EN]: 0x00 eMMC Life Time Estimation A [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_A]: 0x01 eMMC Life Time Estimation B [EXT_CSD_DEVICE_LIFE_TIME_EST_TYP_B]: 0x01 eMMC Pre EOL information [EXT_CSD_PRE_EOL_INFO]: 0x01 0 Quote Link to comment Share on other sites More sharing options...
CarlosGomes Posted March 20, 2022 Share Posted March 20, 2022 On 3/17/2022 at 7:22 PM, gilarelli said: Hey, just solved the same issue yesterday evening (bricked nanopi v1 after kernel update last sunday). Here is what I did to solve it: create a SDCard boot disk plug the SDCard and boot with it (it will bypass the eMMC card) set the root password and you should be able to ssh into it mount the eMMC filesystem rw chroot in the mount (lol) - with the right folder binded before (proc & sys) wget some files - for me it was those 3: linux-dtb-legacy-rk3399_21.08.2_arm64.deb linux-headers-legacy-rk3399_21.08.2_arm64.deb linux-image-legacy-rk3399_21.08.2_arm64.deb from here: http://mirrors.netix.net/armbian/apt/pool/main/l/linux-4.4.213-rk3399/ (the new ones were still in /var/cache/apt/archives so I knew which ones were upgraded - and for some reason, I was unable to use apt-get in the chroot, that's why I had to download them directly - and I choose those versions because I thought that going back to the previous versions was enough) dpkg -i those files halt the nanopi and remove the SDCard restart and voilà I installed manually the linux-libc-dev package once booted with as I couldn't find it for downloading: # sudo apt-get install linux-libc-dev=21.08.2 -V To be sure that those packages will not be upgraded with future upgrades, I put a hold on them with "apt-mark hold": # apt-mark hold linux-libc-dev linux-dtb-legacy-rk3399 linux-headers-legacy-rk3399 linux-image-legacy-rk3399 # dpkg -l | grep "^hi" hi linux-dtb-legacy-rk3399 21.08.2 arm64 Linux DTB, version 4.4.213-rk3399 hi linux-headers-legacy-rk3399 21.08.2 arm64 Linux kernel headers for 4.4.213-rk3399 on arm64 hi linux-image-legacy-rk3399 21.08.2 arm64 Linux kernel, version 4.4.213-rk3399 hi linux-libc-dev:arm64 21.08.2 arm64 Armbian Linux support headers for userspace development Feel free to ask if you want any more information! Thanks for this suggestion, @gilarelli. I could not manage to find what actually went wrong in the upgrade from 21.08 to 22.02 but I could also verify that downgrading those four packages back to 21.08 fixed the issue. Regarding the apt issue in the chroot env you mentioned, it was either a missing/misconfigured /etc/resolv.conf in the chroot env or if it wasn't a dns issue, you might have not mounted /dev in the env? Regarding the latter, I know that apt makes use of /dev/null, for example. In my case, I mounted /dev and /run in addition to /proc and /sys, cleaned apt cache, rebuilt the lists, and was able to implement the solution (downgrading the culprit packages) using apt alone. For anyone interested, I documented the temporary fix suggested by @gilarelli in more detail on my blog post about the NanoPi-M4 mini-NAS (see the Recovery procedures section): https://cgomesu.com/blog/Nanopi-m4-mini-nas/#recovery-procedures. CG 0 Quote Link to comment Share on other sites More sharing options...
gilarelli Posted March 24, 2022 Share Posted March 24, 2022 Hey @CarlosGomes , great blog! I found some times ago your post on your 3D printed nanopi case and it's really good and interesting! I didn't look further to try to solve my apt-get problem inside the chroot, as being able to download the packages was good enough for me - and my priority was to be able to boot as quickly as possible as all my documents are on this machine. Be careful with those 2.5 disks as I had the same RAID configuration and 3 out of 4 disks (WD black too) died at the same time... Luckily, I could get nearly 90% of my data back. My advice would be to use NAS designed disks (such as WD RED Pro) and not desktop ones as they are NOT designed to handle the kind of stress. And be careful with some WD disks: https://raid.wiki.kernel.org/index.php/Linux_Raid#Introduction Anyway, I'm honored to have been able to help you! Cheers! On 3/19/2022 at 1:25 PM, StormMaster said: My eMMC seems to be very OK. @StormMaster: the only advice I would give you then, is to check regularly dmesg for any SATA related errors just in case. You can find some tools that would help you with this monitoring as well as sending you an email if there are any errors. Cheers! Found the culprit thanks to this post: Missing dtb file for our board in the updated package: 0 Quote Link to comment Share on other sites More sharing options...
StormMaster Posted April 7, 2022 Author Share Posted April 7, 2022 Thanks dear developer for finding the root of cause! Thank you very much! I thought i was doing smth wrong during system update... 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.