Could be, reboot should be enough, IMHO, but you never know.
Thanks everyone for reply. I believe I have narrowed down the issue: the router is not booting the kernel from the usb drive. This is why I am still able to log in using 192.168.216.1
command:
admin@DL-WRX36:~# mount
outputs:
mtd:ubi_rootfs on /rom type squashfs (ro,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,noatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime) tmpfs on /tmp type tmpfs (rw,nosuid,nodev,noatime) /dev/ubi0_2 on /overlay type ubifs (rw,noatime) overlayfs:/overlay on / type overlay (rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work) ubi1:log on /tmp/syslog type ubifs (rw,relatime) ubi1:vendor on /tmp/vendor type ubifs (rw,relatime) tmpfs on /dev type tmpfs (rw,nosuid,relatime,size=512k,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,mode=600) /dev/mtdblock31 on /lib/firmware/IPQ8074/WIFI_FW type squashfs (ro,relatime) debugfs on /sys/kernel/debug type debugfs (rw,noatime) /dev/sda on /mnt/USB type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,quiet,utf8,errors=continue) /dev/mapper/d350 on /tmp/d350 type ext4 (rw,relatime,block_validity,delalloc,barrier,user_xattr)
I am not expert but I believe this indicates that usb is not mounted into the root /
meaning if the kernel from USB was booted we would see something like
/dev/sda1 on / type ext4 (rw,relatime)
instead of:
/dev/sda on /mnt/USB type vfat
Additional details:
- The flash drive is formatted in FAT32 .
- The file on the USB is named exactly as specified in the
fw_setenv
command.
I have tried using three different USB drives without success. Rebooted using "reboot" command as well as unplug/plug cable.
Any suggestions on why the router is not booting from the USB would be greatly appreciated... before I throw this router out
have you checked the sha256sum of the file on USB? (to verify that the file is correct)
As the USB boot process is about the u-boot bootloader, any debugging should be done from serial connection.
try creating a partition, also use a low capacity drive.
sha256sum hash from downloaded file:
Algorithm Hash Path
--------- ---- ----
SHA256 7DF6E0BB50195DD157338819BAB8D841EB9F7118324E13F27E178F41D98D6469 C:\Users\user\Downloads\openwrt-ipq807x-generic-dyna...
Hash from USB file:
admin@DL-WRX36:/mnt/USB# sha256sum openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb
output:
7df6e0bb50195dd157338819bab8d841eb9f7118324e13f27e178f41d98d6469 openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb
==> sha256sum hashes match
should /etc/openwrt_release file be present when I ssh into the router? I have not even installed openwrt yet. I am so confused...
Maybe Amazon repacked someone else's returned device and send it to me without flashing the firmware.
this must explain the anomaly, bcs why there is openwrt_release file on device when I have not installed it yet.
your fw_setenv bootcmd
has a space in the filename "initramfs-u Image.itb" but your fw_printenv
output doesnt, might be worth a double check.
Likely yes, because also the OEM firmware is based on an old version of OpenWrt and OEMs are typically lazy to even sanitize the version info. (They have not removed the generation of that ID file from the make process)
no its just my typo while typing on forum. there is no space. both filename and fw_setenv have same file names
openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb
routers IP is still 192.168.216.1 this indicates that openwrt is not loading from usb
Could it brick the device if I update from manufacturers newest firmware to their older firmware you guys posted here?
I feel like the whole root of the issue might be that...
I had a look at the FAT32 USB drive I used for my install:
basic FAT32 4GB partition (not a bootable partition)
Try using the current release initramfs image
openwrt-23.05.2-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb instead of the snapshot version?
sha256sum: d7b5ce176384929d75b80b713343902dcd223269b19ddbf7ca89921ea8e232f5
Note rename the file to:
openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb
I did this and it's still not booting . file hash matches your hash:
File in usb
input:
admin@DL-WRX36:/mnt/USB# sha256sum openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb
output:
d7b5ce176384929d75b80b713343902dcd223269b19ddbf7ca89921ea8e232f5 openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb
booting from
input:
admin@DL-WRX36:~# fw_printenv
output:
bootdelay=2 baudrate=115200 oobd=2023-11-18T14:45:19Z bootcmd=usb start && fatload usb 0:1 0x44000000 openwrt-ipq807x-generic-dynalink_dl-wrx36-initramfs-uImage.itb && bootm 0x44000000; bootipq
during reboot (when trying to boot from usb) solid red light present. according to manual its "device failure" then goes to blinking blue and boots to original firmware.
Product ID
DL-WRX36
Hardware Version
REV_MP0_01_MA0
Firmware Version installed
1.10.01.254
IIRC...
I powered off the router, then on my Windows PC I disconnected the LAN cable to release the IPv4 address I had (could also use the ipconfig/release command).
could be not sure, someone else on here may be able to confirm if they successfully installed OpenWrt on that firmware version.
- I unplugged the LAN cable
- disconnected and reconnected device from power then plug
- entered ipconfig/release on windows
- plugged the LAN cable back
router still assigns 192.168.216.x IP. bcs its still loading manufacturers firmware instead of openwrt firmware. if it was loading firmware from usb router should have IP adress of 192.168.1.1 if I understand everything right.
so yeah it looks like its not booting firmware from usb
I will keep tinkering and reviewing the forum but most likly will end up replacing router. with next router I will not update firmware bcs that might be causing issue. other then that really impressed with the router.
btw, does anyone knows whats original fw_setenv before setting it to
fw_setenv bootcmd 'usb start && fatload usb 0:1 0x44000000 openwrt-qualcommax-ipq807x-dynalink_dl-wrx36-initramfs-uImage.itb && bootm 0x44000000; bootipq'
?
It took me 2 goes to get the USB stick to be recognised.
I tried FAT first, then both wiped the partition clean & created a FAT32 partition using DiskPart.
I used DiskPart to partition usb and it worked. I have no idea why it didnt work before with other partitioning tools. Thank you so much!
I think its good idea to include DiskPart USB partitioning in installation wiki.
IDK why other partitioning tool was messing with the boot. I had 1 partition when I partitioned with other tool as well
Thanks a lot! Everything works. openwrt 23.05.2 runs great.
I will definitely save this USB stick for recovery. I am sure I will eventually brick the modem
I had a hunch it was the partitioning, any way it's good to hear it worked!
HINT: Once you're up and running, keep that DL-WRX36 USB boot drive in a safe place for when disaster recovery prevails!
read & apply: Dynalink DL-WRX36 usb_recovery
To fix the issue of:
Unable to negotiate with 192.168.216.1 port 22: no matching host key type found. Their offer: ssh-rsa
You can modify the SSH command like so:
Before
ssh admin@192.168.216.1
After
ssh -oHostKeyAlgorithms=+ssh-rsa admin@192.168.216.1
Result
BusyBox v1.32.1 (2023-05-06 02:22:08 CST) built-in shell (ash)
MM NM MMMMMMM M M
$MMMMM MMMMM MMMMMMMMMMM MMM MMM
MMMMMMMM MM MMMMM. MMMMM:MMMMMM: MMMM MMMMM
MMMM= MMMMMM MMM MMMM MMMMM MMMM MMMMMM MMMM MMMMM'
MMMM= MMMMM MMMM MM MMMMM MMMM MMMM MMMMNMMMMM
MMMM= MMMM MMMMM MMMMM MMMM MMMM MMMMMMMM
MMMM= MMMM MMMMMM MMMMM MMMM MMMM MMMMMMMMM
MMMM= MMMM MMMMM, NMMMMMMMM MMMM MMMM MMMMMMMMMMM
MMMM= MMMM MMMMMM MMMMMMMM MMMM MMMM MMMM MMMMMM
MMMM= MMMM MM MMMM MMMM MMMM MMMM MMMM MMMM
MMMM$ ,MMMMM MMMMM MMMM MMM MMMM MMMMM MMMM MMMM
MMMMMMM: MMMMMMM M MMMMMMMMMMMM MMMMMMM MMMMMMM
MMMMMM MMMMN M MMMMMMMMM MMMM MMMM
MMMM M MMMMMMM M M
M
---------------------------------------------------------------
For those about to rock... (Chaos Calmer, f46acf6+r49254)
---------------------------------------------------------------
If you get an error like Unable to negotiate with 192.168.216.1 port 22: no matching host key type found. Their offer: ssh-rsa
then make sure the SSH command is updated like so:
ssh -oHostKeyAlgorithms=+ssh-rsa admin@192.168.216.1