Jump to content

usual user

Members
  • Posts

    468
  • Joined

  • Last visited

Posts posted by usual user

  1. 7 hours ago, ceri said:

    What does the shutdown process to that could fix this?

    It leaves the device with an intact file system.
    The corrupted file system structure has likely been restored by rolling back the journal during the automatic file system check of the unmounted file system at system startup. But the data loss is permanent.
    There is a reason why UPS systems exist.

  2. 50 minutes ago, rosenrot00 said:

    Thank you that worked.

    I don't know your plans for how things are supposed to proceed. But if you plan to continue using my firmware build, I would suggest transferring it to the SPI flash, provided you are not wanted to use any other firmware in there.
    - This relieves you from having to pay attention to restoring my firmware build when changing an image.
    - You have two firmware versions available to you, between which you can switch with the SPI-MMC boot switch.
    - Even without the eMMC module, you can boot an OS from another connected storage device.
    - The U-Boot console is also available with an HDMI monitor and a USB keyboard and can be used for analysis in the event of startup problems. Of course, it is also used to select various boot options if autoboot is interrupted.

  3. 21 minutes ago, rosenrot00 said:

    Where would I have to place it?

    Use:

    dd bs=512 seek=1 conv=notrunc,fsync if=odroid-n2/u-boot-meson.bin of=/dev/${entire-device-to-be-used}

    as outlined in the referenced post to replace the existing firmware on the eMMC.

    Firmare is residing outside of partition layout structures so you can only write it by absolute access.

  4. 26 minutes ago, rosenrot00 said:

    Isn’t uboot coming with the armbian image on the emmc?

    Certainly, but I don't know if anyone has taken the effort to integrate a current version so far.

     

    27 minutes ago, rosenrot00 said:

    Could you tell me where I find the most recent uboot?

    The mainline U-Boot project always provides the source codes for the latest versions.
    You can build it by yourself with the Armbian build framework, or use my build for a quick test.

  5. 6 hours ago, rosenrot00 said:

    Would be nice to understand why it doesn't boot.

    The log is telling that the firmware can't operate the eMMC:

     

    6 hours ago, rosenrot00 said:
    Device 0: unknown device
    Card did not respond to voltage select! : -110

    Furthermore, the alternatively attempted BOOTP and PXE boot are also unsuccessful because it seems that a server is found, but the necessary bootflow is not configured correctly.
    As you are running a quite dated U-Boot, maybe using a cureent release has better support for the eMMC.

  6. On 5/24/2025 at 5:03 AM, TinaB said:

    I try to get my NanoPC-T4 a second life.

    My NanoPC-T4 is still alive:

    Spoiler

    InfoCenter-NanoPC-T4.thumb.png.7c5ec9cc71482a9906044ae7521fda14.png

    For a quick test, I used my NVME with my latest OS, which usually powers a different SBC:

    Spoiler

    InfoCenter-ODROID-N2.png.6a538d2c58ed8ef59f8c69450a36c81d.png

    Please do not let it bother you that the NanoPC-T4 uses an outdated kernel to run the OS. This is due to my negligence in building the current kernel without the necessary hacks needed for proper HDMI functionality. Some of the hacks have now been proper implemented in mainline, while others are still in flight. Until this process is completed, I have decided out of laziness to temporarily use an outdated kernel, as I do not miss any functionalities that a current kernel could provide me.

     

    On 5/24/2025 at 5:03 AM, TinaB said:

    the green blinking light indicates me, that he found no bootable device.

    My status LED is not blinking at boot at all. To debug boot problems, blinking LEDs are the worst possible option. Only proper console logs are of value. During OS runtime, it is configured as an HDD LED to indicate access to the microSD, as this is important information for when it is safe to remove it.

     

    On 5/24/2025 at 5:03 AM, TinaB said:

    The final solution should be that has the bootloader on the eMMC while the rest of the os should be on the SSD

    I am still running my firmware from the microSD, again out of laziness to copy it to the eMMC. But any of nessesary support for the NanoPC-T4 is availabe and maybe some boring day or some spezial demand let me revisit to configure it properly. Until then, the bitrottining configuration is sufficient to serve more or less as an always-on terminal server for several USB serial adapters, which provide me with console access to my other SBCs if necessary.

  7. 8 hours ago, antatarmbian said:

    But still I cannot boot the system after removing the sd-card.

    EXIT to the U-Boot console and report the output of the following command:

    bootflow scan -l nvme

     

    8 hours ago, antatarmbian said:

    I then did armbian-install -> nvme01 Install UEFI system

    I don't know what the armbian-install does, but does it make a difference if you dd the same unmodified image to the NVME as you do to the microSD?

  8. On 1/23/2025 at 8:09 PM, usual user said:

    I'm currently at 6.13-rc1 and will stay there at least for another two weeks.

    Ok, moved on to 6.14-rc1.
    No regressions were observed, only current fixes were applied, and new features were enabled.
    It may take some time for some of the fixes to trickle into new stable releases, but the new features are never officially backported.

     

    Moved on to 6.15-rc1 (boot-analyze-odroid-m1.pdf).

    No regressions were observed, only current fixes were applied, and new features were enabled.

  9. Ok, judging by your information, the regression takes place during the transition from U-Boot 2024.04 to 2024.07.
    Since mainline U-Boot works perfect for me up to until 2025.01, it must be because of how it's built or what additional patches are applied.
    Since it cannot be ruled out that it is due to a incompatible bootflow, it may be interesting to try it with my build.
    If this also fails, it is possible to get more information from the HDMI output, even if access to the serial console is not available.
    For the test it is perfectly sufficient to start the firmware from a prepared microSD card via RCY button.
    The existing setup can stay completely unchanged.

  10. For me USB works as expected:

    Spoiler
    /:  Bus 001.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
    /:  Bus 002.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=uas, 5000M
    /:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 480M
    /:  Bus 004.Port 001: Dev 001, Class=root_hub, Driver=xhci-hcd/1p, 5000M
        |__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=uas, 5000M
    /:  Bus 005.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
        |__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    /:  Bus 006.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M
    /:  Bus 007.Port 001: Dev 001, Class=root_hub, Driver=ehci-platform/1p, 480M
        |__ Port 001: Dev 002, If 0, Class=Hub, Driver=hub/4p, 480M
            |__ Port 002: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 002: Dev 003, If 1, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 002: Dev 003, If 2, Class=Human Interface Device, Driver=usbhid, 12M
            |__ Port 003: Dev 004, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M
            |__ Port 004: Dev 005, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    /:  Bus 008.Port 001: Dev 001, Class=root_hub, Driver=ohci-platform/1p, 12M

     

    I don't have any usbstoragequirks in place because my storage devices have controllers with properly working UAS support.
    I'm currently at 6.13-rc1 and will stay there at least for another two weeks.

  11. 2 hours ago, eselarm said:

    SBC/embedded Linux does not have GRUB bootmanager by default, otherwise that would be the way to select older kernel.

    But I'm grateful that it also works for me with pure U-boot:

    Spoiler
    U-Boot SPL 2025.01 (Jan 16 2025 - 00:00:00 +0000)
    Trying to boot from SPI
    ## Checking hash(es) for config config-1 ... OK
    ## Checking hash(es) for Image atf-1 ... sha256+ OK
    ## Checking hash(es) for Image u-boot ... sha256+ OK
    ## Checking hash(es) for Image fdt-1 ... sha256+ OK
    ## Checking hash(es) for Image atf-2 ... sha256+ OK
    NOTICE:  BL31: v2.12.0(release):
    NOTICE:  BL31: Built : 00:00:00, Nov 27 2024
    NOTICE:  BL31: Rockchip release version: v1.0
    
    U-Boot 2025.01 (Jan 16 2025 - 00:00:00 +0000)
    
    Model: Hardkernel ODROID-M1
    SoC:   RK3568B2
    DRAM:  8 GiB (effective 7.7 GiB)
    PMIC:  RK809 (on=0x80, off=0x08)
    Core:  324 devices, 37 uclasses, devicetree: separate
    MMC:   mmc@fe2b0000: 1, mmc@fe310000: 0
    Loading Environment from nowhere... OK
    In:    serial,usbkbd
    Out:   serial,vidconsole
    Err:   serial,vidconsole
    Model: Hardkernel ODROID-M1
    SoC:   RK3568B2
    Net:   eth0: ethernet@fe2a0000
    
    starting USB...
    Bus usb@fd000000: Register 2000140 NbrPorts 2
    Starting the controller
    USB XHCI 1.10
    Bus usb@fd800000: USB EHCI 1.00
    Bus usb@fd840000: USB OHCI 1.0
    Bus usb@fd880000: USB EHCI 1.00
    Bus usb@fd8c0000: USB OHCI 1.0
    scanning bus usb@fd000000 for devices... 1 USB Device(s) found
    scanning bus usb@fd800000 for devices... 2 USB Device(s) found
    scanning bus usb@fd840000 for devices... 1 USB Device(s) found
    scanning bus usb@fd880000 for devices... 5 USB Device(s) found
    scanning bus usb@fd8c0000 for devices... 1 USB Device(s) found
           scanning usb for storage devices... 1 Storage Device(s) found
    scanning bus for devices...
    SATA link 0 timeout.
    AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode
    flags: ncq stag pm led clo only pmp fbss pio slum part ccc apst
    Card did not respond to voltage select! : -110
    Card did not respond to voltage select! : -110
    Cannot persist EFI variables without system partition
    
    *** U-Boot Boot Menu ***
    Press UP/DOWN to move, ENTER to select, ESC to quit
      Standard Boot
      NVME USB Mass Storage
      SCSI USB Mass Storage
      eMMC USB Mass Storage
      microSD USB Mass Storage
      Power Off
      usb 0
      mmc 1
      nvme 0
      Exit
    Hit any key to stop autoboot: 2
    Hit any key to stop autoboot: 1
    Scanning for bootflows in all bootdevs
    Seq  Method       State   Uclass    Part  Name                      Filename
    ---  -----------  ------  --------  ----  ------------------------  ----------------
    Scanning global bootmeth 'efi_mgr':
      0  efi_mgr      ready   (none)       0  <NULL>
    ** Booting bootflow '<NULL>' with efi_mgr
    Loading Boot0000 'usb 0' failed
    Loading Boot0001 'mmc 1' failed
    Loading Boot0002 'nvme 0' failed
    EFI boot manager: Cannot load any image
    Boot failed (err=-14)
    Scanning bootdev 'mmc@fe2b0000.bootdev':
      1  extlinux     ready   mmc          1  mmc@fe2b0000.bootdev.part /extlinux/extlinux.conf
    ** Booting bootflow 'mmc@fe2b0000.bootdev.part_1' with extlinux
    Boot Options
    1:      ODROID-M1 40000015-01
    2:      ODROID-M1 50000006-01
    3:      NanoPC-T4 40000015-01
    4:      NanoPC-T4 40000015-01 verbose
    5:      NanoPC-T4 40000015-01 previous
    6:      Odroid-N2+ 40000015-01
    7:      Odroid-N2+ 40000015-01 verbose
    8:      Odroid-N2+ 40000015-01 previous
    9:      Odroid-N2+ SPI NOR 40000015-01
    10:     ODROID-M1 40000015-01 verbose
    11:     ODROID-M1 40000015-01 previous
    12:     ODROID-M1 40000015-01 previous verbose
    Enter choice:
     1:     ODROID-M1 40000015-01
    Retrieving file: /usr/lib/modules/linux/vmlinuz
    append: loglevel=4 root=PARTUUID=40000015-01 coherent_pool=2M console=ttyS02,1500000 console=tty0 rootwait
    Retrieving file: /usr/lib/modules/linux/dtb/rockchip/rk3568-odroid-m1.dtb
       Uncompressing Kernel Image to 0
    ## Flattened Device Tree blob at 12000000
       Booting using the fdt blob at 0x12000000
    Working FDT set to 12000000
       Loading Device Tree to 00000000eae82000, end 00000000eae94200 ... OK
    Working FDT set to eae82000
    
    Starting kernel ...

     

     

  12. I'm currently at:

    # uname -a
    Linux micro-015 6.13.0-0.rc1.20241204gitfeffde684ac2.17.fc42.aarch64 #1 SMP PREEMPT_DYNAMIC Sat Dec  7 11:18:10 CET 2024 aarch64 GNU/Linux

    And with better wired up in DTB I get:

    Spoiler
    # iperf3 -c odroid-m1
    Connecting to host odroid-m1, port 5201
    [  5] local odroid-n2+ port 34366 connected to odroid-m1 port 5201
    [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
    [  5]   0.00-1.00   sec   112 MBytes   941 Mbits/sec    0    461 KBytes
    [  5]   1.00-2.00   sec   112 MBytes   941 Mbits/sec    0    510 KBytes
    [  5]   2.00-3.00   sec   113 MBytes   945 Mbits/sec    0    560 KBytes
    [  5]   3.00-4.00   sec   111 MBytes   934 Mbits/sec    0    585 KBytes
    [  5]   4.00-5.00   sec   112 MBytes   943 Mbits/sec    0    684 KBytes
    [  5]   5.00-6.00   sec   111 MBytes   928 Mbits/sec    0    718 KBytes
    [  5]   6.00-7.00   sec   112 MBytes   944 Mbits/sec    0    718 KBytes
    [  5]   7.00-8.00   sec   112 MBytes   935 Mbits/sec    0    792 KBytes
    [  5]   8.00-9.00   sec   111 MBytes   933 Mbits/sec    0    830 KBytes
    [  5]   9.00-10.02  sec   113 MBytes   928 Mbits/sec    0    830 KBytes
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.02  sec  1.09 GBytes   938 Mbits/sec    0             sender
    [  5]   0.00-10.02  sec  1.09 GBytes   937 Mbits/sec                  receiver
    
    iperf Done.
    
    # iperf3 -R -c odroid-m1
    Connecting to host odroid-m1, port 5201
    Reverse mode, remote host odroid-m1 is sending
    [  5] local odroid-n2+ port 36326 connected to odroid-m1 port 5201
    [ ID] Interval           Transfer     Bitrate
    [  5]   0.00-1.00   sec  87.8 MBytes   735 Mbits/sec
    [  5]   1.00-2.00   sec  73.6 MBytes   618 Mbits/sec
    [  5]   2.00-3.00   sec  94.2 MBytes   791 Mbits/sec
    [  5]   3.00-4.00   sec  90.2 MBytes   757 Mbits/sec
    [  5]   4.00-5.00   sec  88.5 MBytes   742 Mbits/sec
    [  5]   5.00-6.00   sec  86.0 MBytes   721 Mbits/sec
    [  5]   6.00-7.00   sec  87.4 MBytes   733 Mbits/sec
    [  5]   7.00-8.00   sec  83.2 MBytes   698 Mbits/sec
    [  5]   8.00-9.00   sec  86.0 MBytes   721 Mbits/sec
    [  5]   9.00-10.00  sec  79.4 MBytes   666 Mbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec   858 MBytes   720 Mbits/sec  196             sender
    [  5]   0.00-10.00  sec   856 MBytes   718 Mbits/sec                  receiver
    
    iperf Done.

     

     

  13. Works for me as for @rmrf.

    iperf3 -c ...
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec  1.10 GBytes   942 Mbits/sec    0             sender
    [  5]   0.00-10.01  sec  1.09 GBytes   938 Mbits/sec                  receiver
    
    iperf3 -R -c ...
    [ ID] Interval           Transfer     Bitrate         Retr
    [  5]   0.00-10.00  sec   412 MBytes   345 Mbits/sec  485             sender
    [  5]   0.00-10.00  sec   410 MBytes   344 Mbits/sec                  receiver

     

  14. On 10/1/2024 at 9:06 PM, Mickynuts said:

    I don't need help anymore. As said. I used the uboot present in an earlier version.

    Ok, then no further action needs to be taken and your solution can be used by others in the future.
    I also don't need any other firmware because my current one works according to my needs.
    And for an update, I know how to build and debug it if necessary.

     

    In the meantime, I've moved to 2025.01 with HDMI support enabled, so I no longer need the serial console to interact with the firmware.
    And boot menus easily allow the free choice of which option should currently be booted.

  15. On 9/13/2024 at 8:16 PM, Ryzer said:

    Please find attached the dts sources

    Out of curiosity, I played around a bit with the sources offered.
    The overlay compiled from the spi-ili9341-tft.dts source cannot be applied statically to the base DTB. It seems to have something to do with the  externally used labels. Unfortunately, my DTC package is currently in FTBFS  condition and I can't investigate the cause further at the moment.
    I have therefore rewritten the overlay in absolute path notation. I used the given properties for this. I can't make a statement about their correctness, because I don't have a complete circuit diagram or any necessary data sheets at hand.
    I'm not particularly familiar with the Allwinner devicetree binding documentation, but as far as I can tell, the properties, when applied to the base DTB statically, are compliant.
    If you want, you can run the attached DTB with your device. All components are already statically applied, so you should disable any other dynamically applied overlays.
    I would be interested in the "/sys/kernel/debug/gpio" content.

    sun4i-a10-pcduino2.dtb

  16. 9 hours ago, UmutU123 said:

    Same output as in the first post.

    This says that the necessary short circuit was not present when the MaskRom code scanned for boot devices.
    The short circuit must be ensured before the power supply is switched on, and must be maintained until a few seconds later. The procedure is a three-handed job. One hand fixes the PCB, one hand holds the tweezers, and one hand switches on the power supply.
    This can only be reliably ensured with a shelf holder who uses Pogo pinns.

    IMHO a bad board design for a tinker device. A push button or at least holes for a plug contact to connect a proper switch if necessary would be the better solution. Be grateful to your board designer.

  17. 19 hours ago, UmutU123 said:

    So i got a dc charger but nothing I do gets me into the Maskrom mode.

    Since the "upgrade button" is only software readable, and the firmware (U-Boot) that does it is corrupt, only this method remains.

     

    19 hours ago, UmutU123 said:

    I am not even sure on how to flash the suitable firmware at this point.

    In MaskRom_mode I would first delete the corrupt firmware in the eMMC, so that the firmware loading falls back to the microSD card. This allows different firmware variants to be tested without having to use the clunky method to get into the MaskRom_mode.
    Then I would prepare a microSD card with supposedly suitable firmware and boot the device with it. The function can be verified looking at the serial console output.
    Once a suitable firmware has been identified, I would add an OS image to the microSD card to evaluate the full functionality. It may be possible to speed up the procedure if a complete image with suitable integrated firmware is already available.
    Finally, if necessary, the firmware can be placed in the eMMC again.

  18. 18 hours ago, robertoj said:

    Why is the row gpio-234 (RESET) not showing up in kernel 5.18.88, but it shows up in kernel 6.6.16?, and then it disappears again with your next experiment with updated libgpiod?

    Since I don't even know which system component the supposed GPIO line is connected to, I could only speculate wildly. The appearance is certainly due to the wiring in the DT, but this is also a speculation to which I do not want to comment further, but leave it to qualified people. Alternatively, you could look in the exact DT sources from which the DTBs used at runtime were assembled, but I don't have access to that.
    You could also add the line to the output with:

    gpioset --consumer=reset -c0 234=on

    but it certainly won't give the same functionality as in the original case, as it's a completely different use case.

  19. 4 hours ago, UmutU123 said:

    I guess nobody here knows whats wrong?

    Your device stalls in early firmware not even the payload (U-Boot) is reached. Which OS is used is anything but important at this point.
    Make sure that a suitable firmware is used before you worry about the userspace.
    Devices with Rockchip SOCs are unbrickable, you can recover at any time by restoring a suitable firmware.

  20. On 9/6/2024 at 10:13 AM, robertoj said:

    I can see my SBC's DTS with armbian-config > System > DTC ... is this what you meant?

    Since there is no public link to the result, I suspect it.

     

    On 9/6/2024 at 10:13 AM, robertoj said:

    It is almost identical to

    Since a single false character in a DTS(O) can already lead to a malfunction in its consuming code, this is completely unsuitable for debugging.
    If the DTB's build framework is added as a source of error, be my guest, but please don't expect any help from me in this case.
    It's the same as asking an application developer to identify a bug in the compilation toolchain by disassembling their binary application code without having access to the exact sources from which the particular binay was built.

  21. 7 hours ago, robertoj said:

    I have a feeling that there's some difference between ili9341.ko (adafruit) and fb_ili9341.ko, in the way they handle GPIOs and SPI pins.

    IMHO it is much more likely that the DT description is incorrect, but with the Armbian DT workflow there is not the slightest possibility to verify it automatically with the binding documentation.
    But since not even the original DT sources are readily available, you can't even validate them manually.
    And once sources are available, they are usually written in disassembler syntax, which does not make them easier to read.
    In addition, there is the fact that many attempts are made to merge snippets of DTS from different devices by "copy & paste" in the hope of magically getting a working device. This is just as doomed to failure as the attempt to use arbitrary schematic snippets of various devices to describe a certain PCB for a specific device.
    In the DT world it is even more challenging, because the DT layout is even use case dependent and runtime changeable.

  22. Ok, you have confirmed that the GPIO line can be properly acquired by a suitable process and the GPIO subsystem is working as expected.
    The SPI subsystem does not seem to do this as desired for the CS line.
    Whether this is due to a bug patched out of tree in the 5.15.88 kernel, or just a configuration error in the DT, I can't say, since you haven't published any DT sources on how your SPI controller is wired.
    I'm interested in the original sources from which the DTB was created, and not any from some disassembled DTB, as this has lost valuable information that was striped out during the assembly of the DTB.
    But I also know that it is very difficult to acquire them with an Armbian build system since they most probably only exist as build artifacts which get composed from various patches.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines