aqw Posted August 16 Posted August 16 Hello, after upgrading the Odroid C2 to the current Version on 16.08.2024 the USB-devices do not work at all. According to the diagnosis information they are recognized during during bootup. But later they are disconnected for an unknown reason. https://paste.armbian.com/jucovipaxo lsusb only lists two devices: Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub The suggested hack "usbcore.autosuspend=-1" for USB-problems is already activated, but USB doesn't work anyway Maybe there is a solution for this strange behavior of my C2. 0 Quote
Werner Posted August 17 Posted August 17 From these logs I cannot see any recent packages installed. Everything seems to be 23.02 which cannot be supported. 0 Quote
Solution Igor Posted August 17 Solution Posted August 17 Its known issue. We don't have a fix yet. 0 Quote
aqw Posted August 19 Author Posted August 19 Werner and Igor, thank you for your answers! Some unknown magic happened during the last three days while the computer being switched off: All USB-devices are working fine now. Why it did not work last friday -- even after some reboots -- will always remain a mystery. 0 Quote
Planker1010 Posted August 29 Posted August 29 I am having the same issue. Its almost as if the usbs on boot dont get any power. I can boot and use a regular keyboard. Once in i can then plug in the wifi usb and get online. But i cant remote in or use wireless keyboard. 0 Quote
aqw Posted September 1 Author Posted September 1 Unfortunately i don`t know what caused the magic of self-repair of my device. So I can`t give you an advice what to do. 0 Quote
jumbo125 Posted September 4 Posted September 4 Hello, I have the problem that every few years my SD card fails due to frequent read and write operations. Therefore, I wanted to use an SSD as the system root and use the SD card just for booting. Step 1: Backup the SD card. Step 2: Perform update and upgrade. Step 3: Connect the SSD. At this point, I noticed that the USB fan was no longer working. After searching for a while, I found this: Quote: "Adding the 'extraboardargs' option to /boot/armbianEnv.txt as described above solved the problem for me." So I added it with -1. Now the SSD and the fan were working again. Step 4: Run nand-sata-install. Step 5: Select the SSD. Step 6: Format the SSD. Step 7: Done. Reboot -Y Now it attempts to boot 3 times but always fails. At least the fan, which is powered by USB 5V, restarts 3 times. After that, it shows: "... is now current device" 5 minutes later, it changes to: "scanning for BTRFS" "initramfs" Does anyone have an idea? Thanks. 0 Quote
jumbo125 Posted September 5 Posted September 5 i think the problem isn't only the usb, cause it works, when i add usbcore.autosuspend=-1 0 Quote
jumbo125 Posted September 5 Posted September 5 Hello when i try to boot my odroid from SD-card ( root system is on ssd), it will always restart. i set: setenv rootdev UUID=f8003b55-227a-429c-b1c2-484017a3a916 (uuid from ssd) extraargs=usbcore.autosuspend=-1 usbcore.old_scheme_first=Y usbcore.use_both_schemes=Y to disable usb shutdown this is my armbianEnv: verbosity=1 console=both overlay_prefix=meson rootdev=UUID=f8003b55-227a-429c-b1c2-484017a3a916 rootfstype=ext4 usbstoragequirks=0x2537:0x1066:u,0x2537:0x1068:u,0x152d:0x0583:u extraargs=usbcore.autosuspend=-1 usbcore.old_scheme_first=Y usbcore.use_both_schemes=Y my boot.cmd # DO NOT EDIT THIS FILE # # Please edit /boot/armbianEnv.txt to set supported parameters # setenv scriptaddr "0x32000000" setenv kernel_addr_r "0x34000000" setenv fdt_addr_r "0x4080000" setenv overlay_error "false" # default values setenv rootdev UUID=f8003b55-227a-429c-b1c2-484017a3a916 setenv verbosity "1" setenv console "both" setenv bootlogo "false" setenv rootfstype "ext4" setenv docker_optimizations "on" setenv boot_targets "mmc0 usb0 pxe dhcp" saveenv # Set devtype and devnum for SD card (boot device) setenv devtype "mmc" setenv devnum "0" # odroid c4 legacy kernel values from boot.ini setenv dtb_loadaddr "0x1000000" setenv k_addr "0x1100000" setenv loadaddr "0x1B00000" setenv initrd_loadaddr "0x4080000" setenv display_autodetect "true" # HDMI Mode # Resolution Configuration # Symbol | Resolution # ----------------------+------------- # "480x272p60hz" | 480x272 Progressive 60Hz # "480x320p60hz" | 480x320 Progressive 60Hz # "480p60hz" | 720x480 Progressive 60Hz # "576p50hz" | 720x576 Progressive 50Hz # "720p60hz" | 1280x720 Progressive 60Hz # "720p50hz" | 1280x720 Progressive 50Hz # "1080p60hz" | 1920x1080 Progressive 60Hz # "1080p50hz" | 1920x1080 Progressive 50Hz # "1080p30hz" | 1920x1080 Progressive 30Hz # "1080p24hz" | 1920x1080 Progressive 24Hz # "1080i60hz" | 1920x1080 Interlaced 60Hz # "1080i50hz" | 1920x1080 Interlaced 50Hz # "2160p60hz" | 3840x2160 Progressive 60Hz # "2160p50hz" | 3840x2160 Progressive 50Hz # "2160p30hz" | 3840x2160 Progressive 30Hz # "2160p25hz" | 3840x2160 Progressive 25Hz # "2160p24hz" | 3840x2160 Progressive 24Hz # "smpte24hz" | 3840x2160 Progressive 24Hz SMPTE # "2160p60hz420" | 3840x2160 Progressive 60Hz YCbCr 4:2:0 # "2160p50hz420" | 3840x2160 Progressive 50Hz YCbCr 4:2:0 # "640x480p60hz" | 640x480 Progressive 60Hz # "800x480p60hz" | 800x480 Progressive 60Hz # "800x600p60hz" | 800x600 Progressive 60Hz # "1024x600p60hz" | 1024x600 Progressive 60Hz # "1024x768p60hz" | 1024x768 Progressive 60Hz # "1280x800p60hz" | 1280x800 Progressive 60Hz # "1280x1024p60hz" | 1280x1024 Progressive 60Hz # "1360x768p60hz" | 1360x768 Progressive 60Hz # "1440x900p60hz" | 1440x900 Progressive 60Hz # "1600x900p60hz" | 1600x900 Progressive 60Hz # "1600x1200p60hz" | 1600x1200 Progressive 60Hz # "1680x1050p60hz" | 1680x1050 Progressive 60Hz # "1920x1200p60hz" | 1920x1200 Progressive 60Hz # "2560x1080p60hz" | 2560x1080 Progressive 60Hz # "2560x1440p60hz" | 2560x1440 Progressive 60Hz # "2560x1600p60hz" | 2560x1600 Progressive 60Hz # "3440x1440p60hz" | 3440x1440 Progressive 60Hz setenv hdmimode "1080p60hz" setenv monitor_onoff "false" setenv overscan "100" setenv sdrmode "auto" setenv voutmode "hdmi" setenv disablehpd "false" setenv cec "false" setenv disable_vu7 "true" setenv max_freq_a55 "1908" #setenv max_freq_a55 "2100" setenv maxcpus "4" # Show what uboot default fdtfile is echo "U-boot default fdtfile: ${fdtfile}" echo "Current variant: ${variant}" # there is a mismatch between u-boot and kernel in the n2-plus/n2_plus DTB filename. # Also u-boot can't seem to decide between having, or not, 'amlogic/' in there. if test "${variant}" = "n2_plus"; then setenv fdtfile "amlogic/meson-g12b-odroid-n2-plus.dtb" echo "For variant ${variant}, set default fdtfile: ${fdtfile}" fi if test "${variant}" = "n2-plus"; then setenv fdtfile "amlogic/meson-g12b-odroid-n2-plus.dtb" echo "For variant ${variant} (dash version, 2021.07 or up), set default fdtfile: ${fdtfile}" fi # legacy kernel values from boot.ini if test -e ${devtype} ${devnum} ${prefix}armbianEnv.txt; then load ${devtype} ${devnum} ${scriptaddr} ${prefix}armbianEnv.txt env import -t ${scriptaddr} ${filesize} fi # get PARTUUID of first partition on SD/eMMC it was loaded from # mmc 0 is always mapped to device u-boot (2016.09+) was loaded from if test "${devtype}" = "mmc"; then part uuid mmc ${devnum}:1 partuuid; fi if test "${console}" = "display"; then setenv consoleargs "console=tty1"; fi echo "Current fdtfile after armbianEnv: ${fdtfile}" if test -e ${devtype} ${devnum} ${prefix}zImage; then # legacy kernel boot if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyS0,115200 console=tty1"; fi if test "${console}" = "serial"; then setenv consoleargs "console=ttyS0,115200"; fi if test "${bootlogo}" = "true"; then setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}" else setenv consoleargs "splash=verbose ${consoleargs}" fi setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 coherent_pool=2M loglevel=${verbosity} ${amlogic} no_console_suspend fsck.repair=yes net.ifnames=0 elevator=noop hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a55=${max_freq_a55} maxcpus=${maxcpus} voutmode=${voutmode} ${cmode} disablehpd=${disablehpd} cvbscable=${cvbscable} overscan=${overscan} ${hid_quirks} monitor_onoff=${monitor_onoff} ${cec_enable} sdrmode=${sdrmode} usbcore.autosuspend=-1 usbcore.old_scheme_first=Y usbcore.use_both_schemes=Y usbcore.autosuspend_delay_ms=0" echo "Legacy bootargs: ${bootargs}" load ${devtype} ${devnum} ${k_addr} boot/zImage load ${devtype} ${devnum} ${dtb_loadaddr} boot/dtb/${fdtfile} load ${devtype} ${devnum} ${initrd_loadaddr} boot/uInitrd fdt addr ${dtb_loadaddr} unzip ${k_addr} ${loadaddr} booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr} else # modern kernel boot if test "${console}" = "serial"; then setenv consoleargs "console=ttyAML0,115200"; fi if test "${console}" = "display" || test "${console}" = "both"; then setenv consoleargs "console=ttyAML0,115200 console=tty1"; fi if test "${console}" = "serial"; then setenv consoleargs "console=ttyAML0,115200"; fi if test "${bootlogo}" = "true"; then setenv consoleargs "splash plymouth.ignore-serial-consoles ${consoleargs}" else setenv consoleargs "splash=verbose ${consoleargs}" fi if test "${disable_vu7}" = "false"; then setenv usbhidquirks "usbhid.quirks=0x0eef:0x0005:0x0004"; fi setenv bootargs "root=${rootdev} rootwait rootfstype=${rootfstype} ${consoleargs} consoleblank=0 coherent_pool=2M loglevel=${verbosity} ubootpart=${partuuid} libata.force=noncq usb-storage.quirks=${usbstoragequirks} ${usbhidquirks} ${extraargs} usbcore.autosuspend=-1 usbcore.old_scheme_first=Y usbcore.use_both_schemes=Y usbcore.autosuspend_delay_ms=0 ${extraboardargs}" if test "${docker_optimizations}" = "on"; then setenv bootargs "${bootargs} cgroup_enable=memory swapaccount=1"; fi echo "Mainline bootargs: ${bootargs}" load ${devtype} ${devnum} ${ramdisk_addr_r} ${prefix}uInitrd load ${devtype} ${devnum} ${kernel_addr_r} ${prefix}Image load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile} fdt addr ${fdt_addr_r} fdt resize 65536 for overlay_file in ${overlays}; do if load ${devtype} ${devnum} ${scriptaddr} ${prefix}dtb/amlogic/overlay/${overlay_prefix}-${overlay_file}.dtbo; then echo "Applying kernel provided DT overlay ${overlay_prefix}-${overlay_file}.dtbo" fdt apply ${scriptaddr} || setenv overlay_error "true" fi done for overlay_file in ${user_overlays}; do if load ${devtype} ${devnum} ${scriptaddr} ${prefix}overlay-user/${overlay_file}.dtbo; then echo "Applying user provided DT overlay ${overlay_file}.dtbo" fdt apply ${scriptaddr} || setenv overlay_error "true" fi done if test "${overlay_error}" = "true"; then echo "Error applying DT overlays, restoring original DT" load ${devtype} ${devnum} ${fdt_addr_r} ${prefix}dtb/${fdtfile} else if load ${devtype} ${devnum} ${scriptaddr} ${prefix}dtb/amlogic/overlay/${overlay_prefix}-fixup.scr; then echo "Applying kernel provided DT fixup script (${overlay_prefix}-fixup.scr)" source ${scriptaddr} fi if test -e ${devtype} ${devnum} ${prefix}fixup.scr; then load ${devtype} ${devnum} ${scriptaddr} ${prefix}fixup.scr echo "Applying user provided fixup script (fixup.scr)" source ${scriptaddr} fi fi booti ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r} fi # Recompile with: # mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr 0 Quote
jumbo125 Posted September 5 Posted September 5 Zitat @IgorIts known issue. We don't have a fix yet. i have a backup img only after the upgrade. Can i downgrade it? if it is possible, i will restore my newest backup -> downgrade to a version which works perfect and lock any upgrades thank you 0 Quote
jumbo125 Posted September 5 Posted September 5 Downgrade work. Usb work Boot from sd and filesystem on ssd not work 0 Quote
jumbo125 Posted September 5 Posted September 5 The problem can't be the newest upgrade!!! I set it back. The usb ports works without any troubles. When I start the odroid, it will be boot, try it again and again and at the end, I'm in intframes and got the error: uuid not found. But it is the correct id from the ssd partition 0 Quote
jumbo125 Posted September 8 Posted September 8 (edited) @Igor Is there any solution to use a ssd for the root and boot from the sd? I try it since a few days, but it didn't work. The usb device would be found, but it didn't boot. Does it work with bookworm? Should I change from jammy Thank you a lot Edited September 9 by jumbo125 0 Quote
Igor Posted September 9 Posted September 9 14 hours ago, jumbo125 said: Should I change No, there is no difference on hardware interface. You can try kernel 6.10.y, daily builds, ... those brings changes. 14 hours ago, jumbo125 said: Is there any solution to use a ssd for the root and boot from the sd? It is always: armbian-install https://docs.armbian.com/User-Guide_Getting-Started/#how-to-install-to-emmc-sata-nvme-usb I don't have this device on my desk, so I checked with Odroid M1, boot from SD card, root on USB. Works as expected, so there are no troubles at armbian-install part, but USB is probably too flaky on C2 (since ever). Use older image and freeze kernel upgrades is a valid workaround. 0 Quote
jumbo125 Posted September 27 Posted September 27 @Igor Thank you for your help! Since a few weeks i tried to run it with dietpi.... because i found a lot of pposts, that it woul be work... Fail.... dietpi use kernel 6.6.37 current meson64 same problem. i don't found any solution, after a lot of searching in the web and some other posts in other forums. But i didn't give up. Today i tried it again. Always the same problem: during booting, after loading kernel, the odroid lost all usb device an wrote a fail about the onboard usb. (it doesn't matter if something is connected or all ports are disconnected). My solution: wrote a script to restart the usb detecting, after loading kernel, but before mount root. it took a long time, because i'm not so good about linux programming, and initframes not allow installed tools like usbreset. But at the end i did it. 🙂 I think the problem is on all os with this (or newer) kernel the same. so i think it should be work which the most of os. Here are my steps: it starts at STEP 8 i need to edit and update the initframes to bridge the "kernel losing usb" https://forum.odroid.com/viewtopic.php?p=390023&sid=29998009e29d3b1cd7dca29038534f15#p390023 best regards jumbo 0 Quote
Igor Posted September 28 Posted September 28 14 hours ago, jumbo125 said: because i found a lot of pposts, that it woul be work Project you are mentioning is one person pirating Armbian authors. Dietpi is not contributing to common work. He is making up an impression of development and support. They are even selling fabricated / falsified comparison between dietpi, debian and armbian for years. Most of people buys this as they have either no ability to understand or they don't even think why would someone, in providing software that is free, has a motive to cheat and lie. 14 hours ago, jumbo125 said: dietpi use kernel 6.6.37 current meson64 You are running our work, bugs included, ... while you are paying him and promoting his (our) work on our forums? Why? Since you didn't know nothing about this, it means he also successfully stole credits from our work. If this happens to one person, its perhaps nothing, what about if 10.000 people thinks this is their work? What would you do when someone would sign himself under 100 hours of work you will be doing for work in public good? What if you will donate 10.000 of your private hours or more and he will keep providing your work under his name? Software support, stabilisation, ... is the core value here. We do provide you good and stable operation and we lost tens of thousands of hours. While most of their users compliment them for this work, while they never contributed anything to that. This is how piracy works in open source world and they use this to great extend. There are many solutions as your hack, but they are lost on forums. If you really want to help others, you need to implement a fix into a build framework https://github.com/armbian/build Why you and not us? Because small team, people don't support not even close to what is needed to keep up. And we have to fight bad people / projects, you might be supporting, within time that is available. When we lost that hour(s), everyone will gain with our sacrifice, while copycat project will not suffer any loss. Multiply this by 1000 cases (Hypothetical) for example which we financially (your share is < 0.5%) and mentally cover in certain time frame. Informing you about piracy is also not a convincing argument as it is hard to understand and hard to accept. It is a lot easier to say that this is our fault and our choice. You seek gain and profits too. It is natural. If you use Armbian, you will only get less proprietary scripts, less vendor locking-in as a technical value. We need to invest a lot more into something that generates us only a loss. We can't do that without your help. 0 Quote
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.