D-Link DWR-922

DWR-922 is a wireless router with QMI LTE embedded modem. It is pretty much identical to the D-Link DWR 921 C1/C3. The DWR-922 only appears to differ from the DWR-921 in that there is an analogue RJ11 phone socket (not sure if supported, I didn't try), and the associated components on the board, which is unpopulated on the 921 board. This phone interface appears to also be used in the D-Link DWR-512.

The E2 hardware revision is the only one I have tested.

  1. Push and hold the reset button and turn on the power. Wait until all LEDs start rapidly blinking (~10sec.)
  2. DHCP should give you an IP in the 192.168.123.0/24 subnet, or set one manually
  3. Upload original factory image via JBOOT http interface at http://192.168.123.254/
  4. If http doesn't work, it can be done with curl command: curl -F FN=@XXXXX.bin http://192.168.123.254/upg where XXXXX.bin is the name of the firmware file.
  5. You can optionally telnet to 192.168.123.254 before or during the upload and it will report the flashing status, memory address etc.
  6. Once the flashing starts, the LEDs will start flashing a lot more slowly.
  7. Once the flashing has completed, the LEDs will change the way they flash again, staying on mostly, with a brief flash off.
  8. Once web UI and/or telnet says “Success”, power cycle the router, or type “reboot” into the telnet session.
Architecture MIPS
Vendor MediaTek
Bootloader jboot
System-On-Chip MediaTek MT7620N
CPU Speed 580 MHz
Flash chip Winbond 25Q128FVSG Datasheet
Flash size 16 MiB (128Mbit)
RAM chip Nanya NT5DS32M16DS-5T
RAM size 64 MiB
WAN 1x RJ45 (10/100)
Ethernet 4x 10/100
Modem 3G/4G LTE
Wireless 802.11bgn
Antennas 2x external (LTE only; removable)
Phone 1x FXS (RJ11)
SLIC: “32178-FM1 15188008J1 KR” “IC PROSLIC FXS DTMF -110V 42QFN” Si3217x-B-FM Datasheet
“P1101F4FE 5CC13” (unknown 8 pin chip, flash memory perhaps?)
Serial yes
JTAG ?
LEDs 6x LED (GPIO-controlled); 1x bi-colour (red/green) Signal Strength LED (GPIO-controlled)
Buttons 2
Power supply 12V, 1A

Front:

Back:

Backside label:

Inside:

Remove 4 visible screws from the bottom of the unit. Carefully pull up on the top case from the back, ie insert your thumbnail in the small gap above the WAN port and gently pull up, the entire lid will pop off.

port.serial general information about the serial port, serial port cable, etc.

How to connect to the Serial Port of this specific device:

UART header on PCB, labelled “J1”, on the right side of the board.

Serial connection parameter 57600 8n1

The status led has been assigned to the dwr-922-e2:green:sigstrength (LTE signal strength) led. At the end of the boot it is switched off and is available for LTE operation. Works correctly also during sysupgrade operation.

Can be configured in uci/LuCI by setting:

Name: wwan
LED Name: dwr-922-e2:green:sigstrength
Default state: (off)
Trigger: netdev
Device: wwan0
Trigger Mode: Link On

WWAN Activity LED:

Name: 4g
LED Name: dwr-922-e2:green:4g
Default state: (off)
Trigger: netdev
Device: wwan0
Trigger Mode: Transmit Receive

(not sure how to configure the above in the 01_leds file)

[ 0.000000] Linux version 4.14.82 (simonq@squigley-Lenovo-ideapad-530S-15IKB) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r8661-32bc733796)) #0 Thu Dec 6 19:26:57 2018 [ 0.000000] Board has DDR1 [ 0.000000] Analog PMU set to hw control [ 0.000000] Digital PMU set to hw control [ 0.000000] SoC Type: MediaTek MT7620N ver:2 eco:6 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc) [ 0.000000] MIPS: machine is D-Link DWR-922 E2 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 04000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff] [ 0.000000] On node 0 totalpages: 16384 [ 0.000000] free_area_init_node: node 0, pgdat 8048f8e0, node_mem_map 81000040 [ 0.000000] Normal zone: 128 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 16384 pages, LIFO batch:3 [ 0.000000] random: get_random_bytes called from start_kernel+0x8c/0x474 with crng_init=0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 16256 [ 0.000000] Kernel command line: console=ttyS0,57600 rootfstype=squashfs,jffs2 [ 0.000000] PID hash table entries: 256 (order: -2, 1024 bytes) [ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Writing ErrCtl register=0003ac70 [ 0.000000] Readback ErrCtl register=0003ac70 [ 0.000000] Memory: 59804K/65536K available (3651K kernel code, 169K rwdata, 852K rodata, 184K init, 208K bss, 5732K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS: 256 [ 0.000000] CPU Clock: 580MHz [ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns [ 0.000000] systick: enable autosleep mode [ 0.000000] systick: running - mult: 214748, shift: 32 [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns [ 0.000009] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns [ 0.015463] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216) [ 0.087712] pid_max: default: 32768 minimum: 301 [ 0.097099] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.110119] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.128672] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.148143] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.160315] pinctrl core: initialized pinctrl subsystem [ 0.171105] NET: Registered protocol family 16 [ 0.204283] rt2880_gpio 10000600.gpio: registering 24 gpios [ 0.215309] rt2880_gpio 10000600.gpio: registering 24 irq handlers [ 0.227866] rt2880_gpio 10000638.gpio: registering 16 gpios [ 0.238861] rt2880_gpio 10000638.gpio: registering 16 irq handlers [ 0.251426] rt2880_gpio 10000660.gpio: registering 32 gpios [ 0.262418] rt2880_gpio 10000660.gpio: registering 32 irq handlers [ 0.274971] rt2880_gpio 10000688.gpio: registering 1 gpios [ 0.285790] rt2880_gpio 10000688.gpio: registering 1 irq handlers [ 0.302661] clocksource: Switched to clocksource systick [ 0.314200] NET: Registered protocol family 2 [ 0.323545] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.337318] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.349912] TCP: Hash tables configured (established 1024 bind 1024) [ 0.362716] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.374206] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.386904] NET: Registered protocol family 1 [ 0.395472] PCI: CLS 0 bytes, default 32 [ 0.398028] rt-timer 10000100.timer: maximum frequency is 1220Hz [ 0.410678] Crashlog allocated RAM at address 0x3f00000 [ 0.422623] workingset: timestamp_bits=30 max_order=14 bucket_order=0 [ 0.440507] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.452001] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.481000] io scheduler noop registered [ 0.488697] io scheduler deadline registered (default) [ 0.499700] gpio-export gpio_export: 1 gpio(s) exported [ 0.510235] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled [ 0.523801] console [ttyS0] disabled [ 0.530792] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 20, base_baud = 2500000) is a Palmchip BK-3103 [ 0.550559] console [ttyS0] enabled [ 0.564338] bootconsole [early0] disabled [ 0.580753] cacheinfo: Failed to find cpu0 device node [ 0.591023] cacheinfo: Unable to detect cache hierarchy for CPU 0 [ 0.607717] spi spi0.0: force spi mode3 [ 0.626380] m25p80 spi0.0: w25q128 (16384 Kbytes) [ 0.635808] 3 fixed-partitions partitions found on MTD device spi0.0 [ 0.648470] Creating 3 MTD partitions on "spi0.0": [ 0.658025] 0x000000000000-0x000000010000 : "jboot" [ 0.668588] 0x000000010000-0x000000ff0000 : "firmware" [ 0.681144] 2 jimage-fw partitions found on MTD device firmware [ 0.693001] Creating 2 MTD partitions on "firmware": [ 0.702906] 0x000000000000-0x00000017ffd7 : "kernel" [ 0.713675] 0x00000017ffd7-0x000000fe0000 : "rootfs" [ 0.724345] mtd: device 3 (rootfs) set to be root filesystem [ 0.737118] 1 squashfs-split partitions found on MTD device rootfs [ 0.749498] 0x000000589000-0x000000fe0000 : "rootfs_data" [ 0.761083] 0x000000ff0000-0x000001000000 : "config" [ 0.772542] libphy: Fixed MDIO Bus: probed [ 0.789301] gsw: setting port4 to ephy mode [ 0.797702] mtk_soc_eth 10100000.ethernet eth0 (uninitialized): port 3 link up (100Mbps/Full duplex) [ 0.815927] mtk_soc_eth 10100000.ethernet: generated random MAC address ea:48:5c:02:70:95 [ 0.832231] port: invalid port id 4 [ 0.839259] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver [ 0.851672] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5 [ 0.868658] rt2880_wdt 10000120.watchdog: Initialized [ 0.879922] NET: Registered protocol family 10 [ 0.892278] Segment Routing with IPv6 [ 0.899744] NET: Registered protocol family 17 [ 0.908662] 8021q: 802.1Q VLAN Support v1.8 [ 0.932047] VFS: Mounted root (squashfs filesystem) readonly on device 31:3. [ 0.947135] Freeing unused kernel memory: 184K [ 0.956013] This architecture does not have kernel memory protection. [ 2.284448] init: Console is alive [ 2.291428] init: - watchdog - [ 2.502618] random: fast init done [ 4.870952] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 5.263593] usbcore: registered new interface driver usbfs [ 5.274649] usbcore: registered new interface driver hub [ 5.285366] usbcore: registered new device driver usb [ 5.301494] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.323131] SCSI subsystem initialized [ 5.336041] ehci-platform: EHCI generic platform driver [ 5.356813] phy phy-usbphy.0: remote usb device wakeup disabled [ 5.368617] phy phy-usbphy.0: UTMI 16bit 30MHz [ 5.377486] ehci-platform 101c0000.ehci: EHCI Host Controller [ 5.388973] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1 [ 5.404888] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000 [ 5.426167] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00 [ 5.439574] hub 1-0:1.0: USB hub found [ 5.447456] hub 1-0:1.0: 1 port detected [ 5.458789] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 5.472816] ohci-platform: OHCI generic platform driver [ 5.483567] ohci-platform 101c1000.ohci: Generic Platform OHCI controller [ 5.497171] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2 [ 5.513055] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000 [ 5.550967] hub 2-0:1.0: USB hub found [ 5.558911] hub 2-0:1.0: 1 port detected [ 5.575518] usbcore: registered new interface driver usb-storage [ 5.588292] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 5.606807] init: - preinit - [ 7.727118] 8021q: adding VLAN 0 to HW filter on device eth0 [ 7.881583] random: procd: uninitialized urandom read (4 bytes read) [ 9.090255] mount_root: jffs2 not ready yet, using temporary tmpfs overlay [ 9.156561] urandom-seed: Seed file not found (/etc/urandom.seed) [ 9.277953] procd: - early - [ 9.284536] procd: - watchdog - [ 9.573778] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 9.940772] usb-storage 1-1:1.6: USB Mass Storage device detected [ 9.969036] scsi host0: usb-storage 1-1:1.6 [ 10.447012] procd: - watchdog - [ 10.453605] procd: - ubus - [ 10.551767] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.709644] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.722869] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.736486] procd: - init - [ 10.967442] scsi 0:0:0:0: Direct-Access Linux File-CD Gadget 0000 PQ: 0 ANSI: 2 [ 10.992775] sd 0:0:0:0: [sda] Attached SCSI removable disk [ 11.211393] kmodloader: loading kernel modules from /etc/modules.d/* [ 11.343295] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 11.364511] Netfilter messages via NETLINK v0.30. [ 11.376950] ip_set: protocol 6 [ 11.424381] usbcore: registered new interface driver cdc_wdm [ 11.437345] Loading modules backported from Linux version v4.19-rc5-0-g6bf4ca7fbc85 [ 11.452675] Backport generated by backports.git v4.19-rc5-1-0-g05571dcd [ 11.470540] ip_tables: (C) 2000-2006 Netfilter Core Team [ 11.494890] nf_conntrack version 0.5.0 (1024 buckets, 4096 max) [ 11.573691] usbcore: registered new interface driver ums-alauda [ 11.588933] usbcore: registered new interface driver ums-cypress [ 11.603231] usbcore: registered new interface driver ums-datafab [ 11.617410] usbcore: registered new interface driver ums-freecom [ 11.631709] usbcore: registered new interface driver ums-isd200 [ 11.645893] usbcore: registered new interface driver ums-jumpshot [ 11.660246] usbcore: registered new interface driver ums-karma [ 11.674680] usbcore: registered new interface driver ums-sddr09 [ 11.688933] usbcore: registered new interface driver ums-sddr55 [ 11.703314] usbcore: registered new interface driver ums-usbat [ 11.725108] usbcore: registered new interface driver usbserial [ 11.736912] usbcore: registered new interface driver usbserial_generic [ 11.750065] usbserial: USB Serial support registered for generic [ 11.805475] xt_time: kernel timezone is -0000 [ 11.881237] PPP generic driver version 2.4.2 [ 11.896169] NET: Registered protocol family 24 [ 11.909145] qmi_wwan 1-1:1.3: cdc-wdm0: USB WDM device [ 11.938073] qmi_wwan 1-1:1.3 wwan0: register 'qmi_wwan' at usb-101c0000.ehci-1, WWAN/QMI device, c6:a1:74:f2:cc:da [ 11.978458] qmi_wwan 1-1:1.4: cdc-wdm1: USB WDM device [ 11.999206] qmi_wwan 1-1:1.4 wwan1: register 'qmi_wwan' at usb-101c0000.ehci-1, WWAN/QMI device, c6:a1:74:f2:cc:da [ 12.048486] qmi_wwan 1-1:1.5: cdc-wdm2: USB WDM device [ 12.082622] qmi_wwan 1-1:1.5 wwan2: register 'qmi_wwan' at usb-101c0000.ehci-1, WWAN/QMI device, c6:a1:74:f2:cc:da [ 12.103596] usbcore: registered new interface driver qmi_wwan [ 12.190663] usbcore: registered new interface driver sierra [ 12.201944] usbserial: USB Serial support registered for Sierra USB modem [ 12.240444] usbcore: registered new interface driver sierra_net [ 12.270547] usbcore: registered new interface driver option [ 12.281829] usbserial: USB Serial support registered for GSM modem (1-port) [ 12.372709] ieee80211 phy0: rt2x00lib_request_eeprom_file: Info - Loading EEPROM data from 'soc_wmac.eeprom'. [ 12.392680] rt2800_wmac 10180000.wmac: Direct firmware load for soc_wmac.eeprom failed with error -2 [ 12.410899] rt2800_wmac 10180000.wmac: Falling back to user helper [ 13.252220] ieee80211 phy0: rt2x00_set_rt: Info - RT chipset 6352, rev 0500 detected [ 13.267742] ieee80211 phy0: rt2x00_set_rf: Info - RF chipset 7620 detected [ 13.282063] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 13.318493] kmodloader: done loading kernel modules from /etc/modules.d/* [ 14.310296] urandom_read: 5 callbacks suppressed [ 14.310305] random: jshn: uninitialized urandom read (4 bytes read) [ 29.184272] 8021q: adding VLAN 0 to HW filter on device eth0 [ 29.229885] device eth0 entered promiscuous mode [ 29.262531] br-lan: port 1(eth0.1) entered blocking state [ 29.273363] br-lan: port 1(eth0.1) entered disabled state [ 29.284473] device eth0.1 entered promiscuous mode [ 29.387541] br-lan: port 1(eth0.1) entered blocking state [ 29.398362] br-lan: port 1(eth0.1) entered forwarding state [ 29.409665] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 30.202658] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 51.960555] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0 [ 52.002947] jffs2_build_filesystem(): unlocking the mtd device... [ 52.003364] done. [ 52.019557] jffs2_build_filesystem(): erasing all blocks after the end marker... [ 122.052246] random: crng init done [ 304.869220] done. [ 304.873112] jffs2: notice: (1898) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 305.260558] overlayfs: upper fs does not support tmpfile.


This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2021/04/17 09:29
  • by tmomas