D-Link DNS320 help needed

ad 1. I don't understand the question, does FanFull not work?

ad 2. No. The daemon uses only the temperature reported by the MCU.

ad 3. You can't without some development work. The daemon does not provide any standard interface, you would need to develop something.

I cannot make it work.
320l-mcu cannot understand command

How to make fan turn on when hdd temperature is high?

I am not developer - only tester.

Uh, yeah, that's not implemented.

However, I'm not sure if you've understood how the daemon works: it measures the temperature reported by the system and turns on the fan automatically: Half Speed when the temperature reaches 45C, Full Speed when reaching 50C. That's not the HDD temperature but it mimics the behavior of the original firmware.

In my version, the limits were configurable, but @wigyori removed this feature.

I really know how!

So there is no any file I can edit, is it?

You might want to tell us your ultimate goal, i.e. what are you trying to achieve? Fan control is automatic with no possibility to change that.

I"

I'm tester from 4pda.to
After I begin using this firmware (I have allready done it) lots of people will do the same.

Sorry, but then our discussion about the daemon is a waste of time. I'm out.

1 Like

Good day. I have used openwrt snapshot firmware for DNS-320L, building it using "firmware selector" sinse it has been released, and a question has appeared: could I remove from syslog notifications according to dns320daemon-mcu? It makes my syslog unuseful, filling it out with same messages every 3-5 sec.

I bought a used DNS320L a few days ago to fix a few things in the daemon. I've got the code ready but it's neither tested nor published. The spam in the syslog is one of these bugs.

1 Like

There have been a couple updates to the dns320l-mcu on 2024-10-27 to fix these issues - please let me know if there is any more remaining.

https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=7ac3f0e96cabb634aaaa779e9f948f5766f288d7

Well, this thread got completely hijacked for the dns320l.

Here is a thread with dns320 firmware.
dns-320-a1

Only 14 months later... but see post above.

Can anyone tell me how you flash the 24.10.0 dns-320l firmware? The factory image is not recognised in the oem or alt-f firmware. I can tftpboot the dns320l-initramfs-uImage recovery image fine, but using that to install the openwrt factory firmware results in an unbootable device. The output while flashing seems to be ok without errors but the alt-f kernel is loaded after the reboot and hangs there because openwrt overwrote the alt-f rootfs. From what I can gather from the serial output of the flashing process, it writes the rootfs but doesn't flash the openwrt kernel and initrd. There is also no indication of writing anything to the u-boot environment.

root@OpenWrt:~# Watchdog handover: fd=3
- watchdog -
Watchdog does not have CARDRESET support
Thu Mar  6 04:40:24 UTC 2025 upgrade: Sending TERM to remaining processes ...
Thu Mar  6 04:40:24 UTC 2025 upgrade: Sending signal TERM to dns320l-mcu (2254)
Thu Mar  6 04:40:28 UTC 2025 upgrade: Sending KILL to remaining processes ...
[  197.730881] stage2 (2816): drop_caches: 3
Thu Mar  6 04:40:34 UTC 2025 upgrade: Switching to ramdisk...
Thu Mar  6 04:40:37 UTC 2025 upgrade: Performing system upgrade...
ubiformat: mtd2 (nand), size 115212288 bytes (109.8 MiB), 879 eraseblocks of 131072 bytes (128.0 KiB), min. I/O size 2048 bytes
libscan: scanning eraseblock 878 -- 100 % complete
ubiformat: 686 eraseblocks are supposedly empty
ubiformat: warning!: 193 of 879 eraseblocks contain non-UBI data
ubiformat: warning!: only 0 of 879 eraseblocks have valid erase counter
ubiformat: erase counter 0 will be used for all eraseblocks
ubiformat: note, arbitrary erase counter value may be specified using -e option
ubiformat: use erase counter 0 for all eraseblocks
ubiformat: flashing eraseblock 49 -- 100 % complete
u[  210.870868] ubi0: attaching mtd2 -- 91 % complete
ubiformat: formatting eraseblock [  211.050913] ubi0: scanning is finished
ubiformat: formatting eraseblock 855 -- 9[  211.088760] ubi0: volume 2 ("rootfs_data") re-sized from 9 to 807 LEBs
ubiformat: format[  211.098127] ubi0: attached mtd2 (name "ubi", size 109 MiB)
ting eraseblock [  211.104454] ubi0: PEB size: 131072 bytes (128 KiB), LEB size: 129024 bytes
856 -- 97 % comp[  211.112680] ubi0: min./max. I/O unit sizes: 2048/2048, sub-page size 512
ubiformat[  211.120723] ubi0: VID header offset: 512 (aligned 512), data offset: 2048
: formatting era[  211.128862] ubi0: good PEBs: 879, bad PEBs: 0, corrupted PEBs: 0
seblock 857 -- 9[  211.136223] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 128
u[  211.144794] ubi0: max/mean erase counter: 0/0, WL threshold: 4096, image sequence number: 1448128005
biformat: format[  211.155278] ubi0: available PEBs: 0, total reserved PEBs: 879, PEBs reserved for bad PEB handling: 20
ting eraseblock [  211.166104] ubi0: background thread "ubi_bgt0d" started, PID 3520
858 -- 97 % comp[  211.173796] block ubiblock0_1: created from ubi0:1(rootfs)
ubiformat[  211.180120] ubiblock: device ubiblock0_1 (rootfs) set to be root filesystem
u[  211.211459] sd 0:0:0:0: [sda] Synchronizing SCSI cache
biformat: format[  211.217570] reboot: Restarting system

When I tftp boot openwrt, the flash layout is:

root@OpenWrt:~# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "u-boot"
mtd1: 00020000 00020000 "ubootenv"
mtd2: 06de0000 00020000 "ubi"
mtd3: 00a00000 00020000 "mini firmware"
mtd4: 00500000 00020000 "config"
mtd5: 00200000 00020000 "my-dlink"
root@OpenWrt:~# cat /proc/partitions
major minor  #blocks  name

  31        0       1024 mtdblock0
  31        1        128 mtdblock1
  31        2     112512 mtdblock2
  31        3      10240 mtdblock3
  31        4       5120 mtdblock4
  31        5       2048 mtdblock5

So I am a bit lost.
Here is the original flash layout.

start     end       len
0x0000000-0x0100000 0x0100000 : "u-boot"          
0x0100000-0x0600000 0x0500000 : "uImage"
0x0600000-0x0b00000 0x0500000 : "ramdisk"
0x0b00000-0x6f00000 0x6400000 : "image"
0x6f00000-0x7900000 0x0a00000 : "rescue firmware"
0x7900000-0x7e00000 0x0500000 : "config"
0x7e00000-0x8000000 0x0200000 : "my-dlink"

Can anyone offer some advice from here?

Please find the instructions here:

Thank you. The link is just what I needed. There is no link for the u-boot.kwb file

The U-Boot files are always in a subdirectory of the OpenWrt images - here for OpenWrt 24.10.0.

Duh don't know how I missed seeing that folder! Thanks again