Western Digital My Net N750
Dual Band (concurrent) and 5-Port Gigabit Ethernet (4 LAN / 1 WAN). Advertised as 750 Mbps it is Dual-Stream (2×2) on the 2.4 GHz Band and Triple-Stream (3×3) on the 5 GHz Band. Western Digitial has discontinued its line of networking products.
- Manufacturer Link: https://support.wdc.com/product.aspx?ID=1702
- GPL Source code: https://support.wdc.com/downloads.aspx?p=178
Warning: 21.02, 22.03 and development snapshots do not work properly at this time. (Sep 2022). See OpenWrt forum for latest information
Supported Versions
Hardware Highlights
Due to lack of Hardware NAT support (as of Barrier Breaker), although all the physical ports are gigabit speeds, the WAN-LAN throughput is only capable of ~100Mbps speed (this only affects you if you have greater than this available from your ISP).
WDR4300 - hardware nat feature is for a different switch, but comments explain the reason (see also abnoxious forum post No Hardware NAT Support = No FUN.
Installation
Warning: 21.02 and later releases do not work at this time. (Sep 2022). See OpenWrt forum
- Download both the -factory.bin and -sysupgrade.bin images (see links above)
- Configure your computer's ethernet port to static IP 192.168.1.2 (really any address in the 192.168.1.* range except 192.168.1.1 is fine) and connect it to a LAN port on the router.
- If the router is turned on, turn it off (there is a handy power switch on the back). Using a paperclip or a similarly blunt but thin object, press and hold the reset button through the hole marked “Reset” on the bottom of the router. While keeping this button pressed, turn the router on. Hold the reset button until the power LED starts flashing slowly (this takes slightly less than 10 seconds), you can then release the reset button.
- On your computer, open http://192.168.1.1/ in a web browser. It should display a bare-bones upload page titled “Emergency Room.” Browse and select the -factory.bin file you downloaded earlier and press “Update.” The router will now flash OpenWrt and instruct you to not turn it off. The timer on the page is just a simple countdown and does not reflect any flashing status, it will take about two minutes.
- The router will reset and boot into OpenWrt. The first boot will, as usual, take a little bit longer than subsequent boot processes - the LED will be blinking for about two minutes . At this point, the OpenWrt installation is not stable yet (it would not be able to boot once you reset). It needs to be flashed once more:
- Once the LED is solid, log into LuCI on your router (conveniently http://192.168.1.1/ again). Go to System > Backup/Flash Firmware, and choose “Flash new firmware file.” This time, browse and select the -sysupgrade.bin file you downloaded and choose “Upload”. Deselect “keep settings” and choose to upgrade. Your router will now flash OpenWrt again and reboot after about a minute.
- After the second reboot, your router should now stably run OpenWrt. Continue to configure it to your liking, including setting up a root password. You can also reset your computer's network card to its previous settings.
(this procedure has been tested with 19.07.0)
Upgrade
- Download the -sysupgrade.bin image (see above)
- Go to System > Backup/Flash Firmware
- On the Flash operations page that opened from step two, under the Backup / Restore click Generate Archive and save the settings/configuration backup file.
- On the Flash operations page that opened from step two, under the Flash new firmware image do the following:
- Check/select the Keep settings checkbox
- Click the Browse button and select the upgrade .bin image
- Click the Flash Image button
How to restore OEM firmware
The My_Net_N750_1.04.16.bin can be found within the installer CD. The 439MB Installer CD iso can be downloaded from:
Mount the ISO file or CD and navigate to the following folder:
\Extras\Recovery\My Net N750
Use the “Emergency Room” method described in the “Installation” section in this wiki page, to upload the My_Net_N750_1.04.16.bin OEM firmware to the router.
WPS Push Button
See also: WPS Button
If you want the WPS push button authentication to work:
opkg update opkg install hostapd-utils wpad uci set wireless.@wifi-iface[0].wps_pushbutton="1" uci commit wireless wifi reload
Flash Layout
Western Digital My Net N750 Flash Layout | ||||||||
---|---|---|---|---|---|---|---|---|
Layer0 | m25p80 spi0.0: mx25l12805d 16384KiB | |||||||
Layer1 | mtd0 u-boot 256KiB | mtd1 u-boot-env 64KiB | mtd2 devdata 64KiB | mtd3 devconf 64KiB | mtd4 firmware 15872KiB | mtd8 radiocfg 64KiB | ||
Layer2 | mtd5 kernel 1280KiB | mtd6 rootfs 14592KiB | ||||||
Mountpoint | / | |||||||
Filesystem | overlayfs | |||||||
Layer3 | mtd7 rootfs_data 12736KiB | |||||||
Size in KiB | 256KiB | 64KiB | 64KiB | 64KiB | 1280KiB | 1856KiB | 12736KiB | 64KiB |
Name | u-boot | u-boot-env | devdata | devconf | kernel | rootfs_data | radiocfg | |
Mountpoint | none | none | none | none | none | /rom | /overlay | none |
Filesystem | none | none | none | none | none | SquashFS | JFFS2 | none |
Specific Configuration
Interfaces
The default network configuration is:
Interface Name | Description | Default configuration |
---|---|---|
br-lan | LAN & WiFi | 192.168.1.1/24 |
vlan0 (eth0.0) | LAN ports (1 to 4) | None |
vlan1 (eth0.1) | WAN port | DHCP |
wlan0 | WiFi 2.4 GHz | Disabled |
wlan1 | WiFi 5 GHz | Disabled |
Switch Ports (for VLANs)
Ports 1-4 directly correspond to ports 1-4 as labeled on the unit, port 5 is the Internet (WAN) on the unit, 0 is the internal connection to the CPU.
Port | Switch port |
---|---|
CPU | 0 |
LAN 1 | 1 |
LAN 2 | 2 |
LAN 3 | 3 |
LAN 4 | 4 |
WAN | 5 |
(unused) | 6 |
Switch LEDs
The switch has two types of LEDs: Green and yellow. These are on the back of the device.
- Green LEDs indicate a gigabit connection.
- Yellow LEDs indicate a 100M connection.
- LED blinking indicates Rx/Tx activity.
Front Panel LEDs
- Blue LEDs for power, internet, wireless, and WPS
- Only power is enabled by default in OpenWrt, but then can be configured easily in Luci.
- To emulate factory behavior, use the following settings:
LED Name | Trigger | Device | Trigger Mode |
---|---|---|---|
wd:blue:internet | netdev | eth0.2 | Link On |
wd:blue:wireless | phy0tpt | -- | -- |
wd:blue:wireless | phy1tpt | -- | -- |
You could consider using the WPS LED (wd:blue:wps) to flash for activity on the 5 GHz band or perhaps show when a USB device is connected.
More detail here: LED configuration
Hardware
PCB
Info
Instruction set | MIPS |
---|---|
Vendor | Qualcomm Atheros |
bootloader | U-Boot |
System-On-Chip | Atheros AR9344 rev. 2 |
CPU @Frq | MIPS 74Kc @560MHz |
Flash chip | Winbond 25Q128BVFG |
Flash size | 16384 KiB |
RAM chip | 2x ESMT M14D5121632A-2.5B |
RAM | 128 MiB |
Wireless #1 | SoC Integrated: Atheros AR9340 w/ 2×2 MIMO 2.4GHz 802.11b/g/n |
Wireless #2 | Distinct Chip: Atheros AR9380 w/ 3×3 MIMO 5GHz 802.11an |
switch | Atheros AR8327N |
USB | Yes 2 x 2.0 (Genesys GL850G) |
Serial | Yes |
Serial
The serial port is prepopulated at JP1 and has the following pinout:
[TxD][GND][3.3] [RxD] (JP1 text)
Bootlogs
Kernel Log
[ 0.000000] Linux version 3.10.32 (openwrt@huchra) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.01 r40004) ) #1 Sat Mar 22 07:41:27 PDT 2014 [ 0.000000] MyLoader: sysp=00000000, boardp=00000000, parts=00000000 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU revision is: 0001974c (MIPS 74Kc) [ 0.000000] SoC: Atheros AR9344 rev 2 [ 0.000000] Clocks: CPU:560.000MHz, DDR:480.000MHz, AHB:240.000MHz, Ref:40.000MHz [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 08000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x07ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x07ffffff] [ 0.000000] On node 0 totalpages: 32768 [ 0.000000] free_area_init_node: node 0, pgdat 80328b60, node_mem_map 81000000 [ 0.000000] Normal zone: 256 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 32768 pages, LIFO batch:7 [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 [ 0.000000] Kernel command line: board=MYNET-N750 console=ttyS0,115200 mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro rootfstype=squashfs,jffs2 noinitrd [ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) [ 0.000000] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 126116k/131072k available (2328k kernel code, 4956k reserved, 612k data, 256k init, 0k highmem) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.060000] Calibrating delay loop... 278.93 BogoMIPS (lpj=1394688) [ 0.070000] pid_max: default: 32768 minimum: 301 [ 0.070000] Mount-cache hash table entries: 512 [ 0.080000] NET: Registered protocol family 16 [ 0.080000] MIPS: machine is WD My Net N750 [ 0.110000] registering PCI controller with io_map_base unset [ 0.340000] bio: create slab <bio-0> at 0 [ 0.340000] PCI host bridge to bus 0000:00 [ 0.350000] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff] [ 0.350000] pci_bus 0000:00: root bus resource [io 0x0000] [ 0.360000] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] [ 0.360000] pci 0000:00:00.0: [168c:0030] type 00 class 0x028000 [ 0.360000] pci 0000:00:00.0: invalid calibration data [ 0.370000] pci 0000:00:00.0: reg 10: [mem 0x00000000-0x0001ffff 64bit] [ 0.370000] pci 0000:00:00.0: reg 30: [mem 0x00000000-0x0000ffff pref] [ 0.370000] pci 0000:00:00.0: supports D1 [ 0.370000] pci 0000:00:00.0: PME# supported from D0 D1 D3hot [ 0.370000] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 [ 0.370000] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x1001ffff 64bit] [ 0.370000] pci 0000:00:00.0: BAR 6: assigned [mem 0x10020000-0x1002ffff pref] [ 0.380000] pci 0000:00:00.0: using irq 40 for pin 1 [ 0.380000] Switching to clocksource MIPS [ 0.390000] NET: Registered protocol family 2 [ 0.390000] TCP established hash table entries: 1024 (order: 1, 8192 bytes) [ 0.390000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.400000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.400000] TCP: reno registered [ 0.400000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.410000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.420000] NET: Registered protocol family 1 [ 0.420000] PCI: CLS 0 bytes, default 32 [ 0.440000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.440000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.450000] msgmni has been set to 246 [ 0.460000] io scheduler noop registered [ 0.460000] io scheduler deadline registered (default) [ 0.460000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.500000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A [ 0.500000] console [ttyS0] enabled, bootconsole disabled [ 0.510000] ath79-spi ath79-spi: master is unqueued, this is deprecated [ 0.520000] m25p80 spi0.0: found mx25l12805d, expected m25p80 [ 0.530000] m25p80 spi0.0: mx25l12805d (16384 Kbytes) [ 0.530000] 6 cmdlinepart partitions found on MTD device spi0.0 [ 0.540000] Creating 6 MTD partitions on "spi0.0": [ 0.540000] 0x000000000000-0x000000040000 : "u-boot" [ 0.550000] 0x000000040000-0x000000050000 : "u-boot-env" [ 0.560000] 0x000000050000-0x000000060000 : "devdata" [ 0.560000] 0x000000060000-0x000000070000 : "devconf" [ 0.570000] 0x000000070000-0x000000ff0000 : "firmware" [ 0.600000] 2 seama-fw partitions found on MTD device firmware [ 0.610000] 0x000000070000-0x0000001b0000 : "kernel" [ 0.610000] 0x0000001b0000-0x000000ff0000 : "rootfs" [ 0.620000] mtd: device 6 (rootfs) set to be root filesystem [ 0.630000] 1 squashfs-split partitions found on MTD device rootfs [ 0.630000] 0x000000380000-0x000000ff0000 : "rootfs_data" [ 0.640000] 0x000000ff0000-0x000001000000 : "radiocfg" [ 1.670000] switch0: Atheros AR8327 rev. 2 switch registered on ag71xx-mdio.0 [ 2.890000] libphy: ag71xx_mdio: probed [ 4.440000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd033, driver=Atheros AR8216/AR8236/AR8316] [ 4.450000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:RGMII [ 4.460000] TCP: cubic registered [ 4.470000] NET: Registered protocol family 17 [ 4.470000] Bridge firewalling registered [ 4.470000] 8021q: 802.1Q VLAN Support v1.8 [ 4.480000] VFS: Mounted root (squashfs filesystem) readonly on device 31:6. [ 4.490000] Freeing unused kernel memory: 256K (80340000 - 80380000) [ 6.950000] usbcore: registered new interface driver usbfs [ 6.950000] usbcore: registered new interface driver hub [ 6.960000] usbcore: registered new device driver usb [ 6.970000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 6.980000] ehci-platform: EHCI generic platform driver [ 6.980000] ehci-platform ehci-platform: EHCI Host Controller [ 6.990000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1 [ 7.000000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000 [ 7.030000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00 [ 7.030000] hub 1-0:1.0: USB hub found [ 7.040000] hub 1-0:1.0: 1 port detected [ 7.050000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 7.360000] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 7.500000] eth0: link up (1000Mbps/Full duplex) [ 7.510000] hub 1-1:1.0: USB hub found [ 7.510000] hub 1-1:1.0: 4 ports detected [ 9.340000] jffs2: notice: (368) jffs2_build_xattr_subsystem: complete building xattr subsystem, 16 of xdatum (1 unchecked, 15 orphan) and 39 of xref (0 dead, 27 orphan) found. [ 10.260000] SCSI subsystem initialized [ 10.280000] usbcore: registered new interface driver usb-storage [ 10.490000] eth0: link down [ 12.550000] NET: Registered protocol family 10 [ 12.590000] RPC: Registered named UNIX socket transport module. [ 12.600000] RPC: Registered udp transport module. [ 12.600000] RPC: Registered tcp transport module. [ 12.610000] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 12.660000] nf_conntrack version 0.5.0 (1974 buckets, 7896 max) [ 12.670000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 12.720000] u32 classifier [ 12.720000] input device check on [ 12.730000] Actions configured [ 12.750000] Mirror/redirect action on [ 12.770000] Loading modules backported from Linux version master-2014-01-23-0-g62c147d [ 12.780000] Backport generated by backports.git backports-20140124-0-g1256d3e [ 12.790000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 12.880000] xt_time: kernel timezone is -0000 [ 12.910000] cfg80211: Calling CRDA to update world regulatory domain [ 12.910000] cfg80211: World regulatory domain updated: [ 12.920000] cfg80211: DFS Master region: unset [ 12.920000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [ 12.930000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 12.940000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [ 12.950000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [ 12.960000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (300 mBi, 2000 mBm) [ 12.960000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (300 mBi, 2000 mBm) [ 12.970000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm) [ 13.050000] PPP generic driver version 2.4.2 [ 13.080000] NET: Registered protocol family 24 [ 13.160000] ath: EEPROM regdomain: 0x0 [ 13.160000] ath: EEPROM indicates default country code should be used [ 13.160000] ath: doing EEPROM country->regdmn map search [ 13.160000] ath: country maps to regdmn code: 0x3a [ 13.160000] ath: Country alpha2 being used: US [ 13.160000] ath: Regpair used: 0x3a