Which firmware is compatible with Netgear D6100?

Hello,
I have a beta-product router from Netgear, called D6100. It is router+DSL. http://www.netgear.co.nz/home/products/networking/modem-routers/D6100.aspx#tab-techspecs

Summary:
AC1200 (300 Mbps + 867 Mbps)
Three (3) 10/100/1000 (1 WAN and 2 LAN) Gigabit Ethernet ports
128 MB flash and 128 MB RAM (not sure about my beta product)

I would like to flash LEDE in it.
I don't use ADSL and I'm willing to completely lose it.

Netgear should provide the sources for their firmware:
https://kb.netgear.com/2649/NETGEAR-Open-Source-Code-for-Programmers-GPL
but the file is not there...

I entered in the prompt with telnet and I got this:

BusyBox v1.01 (2015.04.17-06:29+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

/ # cat /proc/version
Linux version 2.6.32.42 (dungjiun@DNISW2-F14-09) (gcc version 4.3.3 (GCC) ) #1 Fri Apr 17 14:51:49 CST 2015
/ #
/ # cat /proc/cpuinfo
system type             : AR10
processor               : 0
cpu model               : MIPS 34Kc V5.6
BogoMIPS                : 332.59
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes, count: 4, address/irw mask: [0x0ff8, 0x0ffc, 0x0ffb, 0x0ffb]
ASEs implemented        : mips16 dsp mt
shadow register sets    : 1
core                    : 0
VCED exceptions         : not available
VCEI exceptions         : not available

/ #
/ # cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00100000 00020000 "uboot+gphyfw"
mtd1: 00100000 00020000 "ubootconfig"
mtd2: 03c00000 00020000 "system_sw"
mtd3: 00100000 00020000 "firmware"
mtd4: 00100000 00020000 "fwdiag"
mtd5: 00100000 00020000 "nvram"
mtd6: 00400000 00020000 "lang"
mtd7: 00100000 00020000 "pppoe"
mtd8: 00100000 00020000 "traffic_meter"
mtd9: 00100000 00020000 "wifical"
mtd10: 00100000 00020000 "pot"
mtd11: 00100000 00020000 "unuse"
mtd12: 03600000 00020000 "res"
mtd13: 00217800 0001f800 "kernelA"
mtd14: 00a56000 0001f800 "rootfsA"
mtd15: 00217800 0001f800 "kernelB"
mtd16: 00a56000 0001f800 "rootfsB"
/ #
/ # cat /proc/modules
ath_pktlog 15026 0 - Live 0xc1bfd000 (P)
umac 1655470 1 ath_pktlog, Live 0xc1a2d000
ath_dev 231419 2 ath_pktlog,umac, Live 0xc16d4000 (P)
ath_dfs 50784 1 umac, Live 0xc1651000 (P)
ath_rate_atheros 33732 3 ath_pktlog,umac,ath_dev, Live 0xc162d000 (P)
ath_hal 703021 4 ath_pktlog,umac,ath_dev,ath_rate_atheros, Live 0xc154c000 (P)
asf 6858 5 ath_pktlog,umac,ath_dev,ath_dfs,ath_hal, Live 0xc1446000 (P)
adf 11121 3 umac,ath_dev,ath_hal, Live 0xc142b000 (P)
mtlk 901259 0 - Live 0xc1151000
mtlkroot 58190 5 mtlk, Live 0xc0f63000
ifxusb_host 122956 0 - Live 0xc0e66000
hfsplus_journal 150565 0 - Live 0xc0708000
nf_nat_rtsp 3600 0 - Live 0xc06b7000
nf_conntrack_rtsp 4857 1 nf_nat_rtsp, Live 0xc06ab000
xt_phyport 1484 0 - Live 0xc06a0000
delete_conntrack 3600 0 - Live 0xc0687000
lan_port_resv 2320 0 - Live 0xc0673000
ip6t_DNS_HIJACK 3026 0 - Live 0xc0669000
ip6t_CONE 1583 0 - Live 0xc065f000
ipt_REJECT 6720 0 - Live 0xc0654000
ipt_TRIGGER 3008 0 - Live 0xc0649000
ipt_log 1040 0 - Live 0xc063f000 (P)
ipt_spiTcpScan 11375 0 - Live 0xc0634000
ipt_spiadvDoS 12672 0 - Live 0xc0627000
ipt_spiDoS 2528 0 - Live 0xc061c000
ipt_string 4253 0 - Live 0xc0611000
ipt_DNS_HIJACK 3152 1 - Live 0xc0600000
ipt_CONENAT 1248 0 - Live 0xc05f6000
ifx_ppa_api_proc 25442 0 - Live 0xc05df000
ifx_ppa_api 296552 1 ifx_ppa_api_proc, Live 0xc056c000
ifxmips_ppa_hal_ar10_d5 60154 0 - Live 0xc04db000
ifxmips_ppa_datapath_ar10_d5 128800 0 - Live 0xc044c000

/ # cat /proc/meminfo
MemTotal:         121904 kB
MemFree:           69040 kB
Buffers:            5852 kB
Cached:            19244 kB
SwapCached:            0 kB
Active:            12208 kB
Inactive:          17352 kB
Active(anon):       4464 kB
Inactive(anon):        0 kB
Active(file):       7744 kB
Inactive(file):    17352 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          4492 kB
Mapped:             3188 kB
Shmem:                 0 kB
Slab:              16248 kB
SReclaimable:       1248 kB
SUnreclaim:        15000 kB
KernelStack:         432 kB
PageTables:          328 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       60952 kB
Committed_AS:       8132 kB
VmallocTotal:    1048372 kB
VmallocUsed:        5896 kB
VmallocChunk:    1016664 kB

/ # cat /proc/partitions
major minor  #blocks  name

  31        0       1024 mtdblock0
  31        1       1024 mtdblock1
  31        2      61440 mtdblock2
  31        3       1024 mtdblock3
  31        4       1024 mtdblock4
  31        5       1024 mtdblock5
  31        6       4096 mtdblock6
  31        7       1024 mtdblock7
  31        8       1024 mtdblock8
  31        9       1024 mtdblock9
  31       10       1024 mtdblock10
  31       11       1024 mtdblock11
  31       12      55296 mtdblock12
  31       13       2142 mtdblock13
  31       14      10584 mtdblock14
  31       15       2142 mtdblock15
  31       16      10584 mtdblock16

/ # ls /tmp/
HW.ini                                ProgModel_BG_CB_40_RevM_ar10.bin
LAN0_status                           ProgModel_BG_CB_40_RevN_ar10.bin
LAN0_uptime                           ProgModel_BG_CB_40_RevO_ar10.bin
LAN1_status                           ProgModel_BG_CB_40_RevP_ar10.bin
LAN1_uptime                           ProgModel_BG_CB_40_RevQ_ar10.bin
LAN2_status                           ProgModel_BG_CB_40_RevR_ar10.bin
LAN2_uptime                           ProgModel_BG_CB_40_RevS_ar10.bin
LAN3_status                           ProgModel_BG_CB_41_RevA_ar10.bin
LAN3_uptime                           ProgModel_BG_CB_41_RevB_ar10.bin
ProgModel_A_CB_30_RevA_wave300.bin    ProgModel_BG_CB_ar10.bin
ProgModel_A_CB_30_RevB_wave300.bin    ProgModel_BG_CB_wave300.bin
ProgModel_A_CB_30_RevC_wave300.bin    ProgModel_BG_nCB_30_RevA_wave300.bin
ProgModel_A_CB_31_RevA_wave300.bin    ProgModel_BG_nCB_30_RevB_wave300.bin
ProgModel_A_CB_31_RevB_wave300.bin    ProgModel_BG_nCB_30_RevC_wave300.bin
ProgModel_A_CB_31_RevC_wave300.bin    ProgModel_BG_nCB_31_RevA_wave300.bin
ProgModel_A_CB_31_RevD_wave300.bin    ProgModel_BG_nCB_31_RevB_wave300.bin
ProgModel_A_CB_31_RevE_wave300.bin    ProgModel_BG_nCB_31_RevC_wave300.bin
ProgModel_A_CB_31_RevF_wave300.bin    ProgModel_BG_nCB_31_RevD_wave300.bin
ProgModel_A_CB_32_RevA_wave300.bin    ProgModel_BG_nCB_31_RevE_wave300.bin
ProgModel_A_CB_32_RevB_wave300.bin    ProgModel_BG_nCB_31_RevF_wave300.bin
ProgModel_A_CB_33_RevA_wave300.bin    ProgModel_BG_nCB_32_RevA_wave300.bin
ProgModel_A_CB_33_RevB_wave300.bin    ProgModel_BG_nCB_32_RevB_wave300.bin
ProgModel_A_CB_34_RevA_wave300.bin    ProgModel_BG_nCB_33_RevA_wave300.bin
ProgModel_A_CB_34_RevB_wave300.bin    ProgModel_BG_nCB_33_RevB_wave300.bin
ProgModel_A_CB_35_RevA_wave300.bin    ProgModel_BG_nCB_34_RevA_wave300.bin
ProgModel_A_CB_35_RevB_wave300.bin    ProgModel_BG_nCB_34_RevB_wave300.bin
ProgModel_A_CB_36_RevA_wave300.bin    ProgModel_BG_nCB_35_RevA_wave300.bin
ProgModel_A_CB_36_RevB_wave300.bin    ProgModel_BG_nCB_35_RevB_wave300.bin
ProgModel_A_CB_36_RevC_wave300.bin    ProgModel_BG_nCB_36_RevA_wave300.bin
ProgModel_A_CB_36_RevD_wave300.bin    ProgModel_BG_nCB_36_RevB_wave300.bin
ProgModel_A_CB_36_RevE_wave300.bin    ProgModel_BG_nCB_36_RevC_wave300.bin
ProgModel_A_CB_36_RevF_wave300.bin    ProgModel_BG_nCB_36_RevD_wave300.bin
ProgModel_A_CB_36_RevG_wave300.bin    ProgModel_BG_nCB_36_RevE_wave300.bin
ProgModel_A_CB_37_RevA_wave300.bin    ProgModel_BG_nCB_36_RevF_wave300.bin
ProgModel_A_CB_37_RevB_wave300.bin    ProgModel_BG_nCB_36_RevG_wave300.bin
ProgModel_A_CB_37_RevC_wave300.bin    ProgModel_BG_nCB_37_RevA_wave300.bin
ProgModel_A_CB_37_RevD_wave300.bin    ProgModel_BG_nCB_37_RevB_wave300.bin
ProgModel_A_CB_38_RevA_wave300.bin    ProgModel_BG_nCB_37_RevC_wave300.bin
ProgModel_A_CB_38_RevB_wave300.bin    ProgModel_BG_nCB_37_RevD_wave300.bin
ProgModel_A_CB_39_RevA_wave300.bin    ProgModel_BG_nCB_38_RevA_wave300.bin
ProgModel_A_CB_39_RevB_wave300.bin    ProgModel_BG_nCB_38_RevB_wave300.bin
ProgModel_A_CB_3A_RevB_wave300.bin    ProgModel_BG_nCB_39_RevA_wave300.bin
ProgModel_A_CB_3A_RevC_wave300.bin    ProgModel_BG_nCB_39_RevB_wave300.bin
ProgModel_A_CB_3B_RevA_wave300.bin    ProgModel_BG_nCB_3A_RevB_wave300.bin
ProgModel_A_CB_3B_RevB_wave300.bin    ProgModel_BG_nCB_3A_RevC_wave300.bin
ProgModel_A_CB_3C_RevA_wave300.bin    ProgModel_BG_nCB_3B_RevA_wave300.bin
ProgModel_A_CB_3C_RevB_wave300.bin    ProgModel_BG_nCB_3B_RevB_wave300.bin
ProgModel_A_CB_3C_RevC_wave300.bin    ProgModel_BG_nCB_3C_RevA_wave300.bin
ProgModel_A_CB_3D_RevA_wave300.bin    ProgModel_BG_nCB_3C_RevB_wave300.bin
ProgModel_A_CB_3D_RevB_wave300.bin    ProgModel_BG_nCB_3C_RevC_wave300.bin
ProgModel_A_CB_wave300.bin            ProgModel_BG_nCB_3D_RevA_wave300.bin
ProgModel_A_nCB_30_RevA_wave300.bin   ProgModel_BG_nCB_3D_RevB_wave300.bin
ProgModel_A_nCB_30_RevB_wave300.bin   ProgModel_BG_nCB_40_RevA_ar10.bin
ProgModel_A_nCB_30_RevC_wave300.bin   ProgModel_BG_nCB_40_RevB_ar10.bin
ProgModel_A_nCB_31_RevA_wave300.bin   ProgModel_BG_nCB_40_RevC_ar10.bin
ProgModel_A_nCB_31_RevB_wave300.bin   ProgModel_BG_nCB_40_RevD_ar10.bin
ProgModel_A_nCB_31_RevC_wave300.bin   ProgModel_BG_nCB_40_RevE_ar10.bin
ProgModel_A_nCB_31_RevD_wave300.bin   ProgModel_BG_nCB_40_RevF_ar10.bin
ProgModel_A_nCB_31_RevE_wave300.bin   ProgModel_BG_nCB_40_RevG_ar10.bin
ProgModel_A_nCB_31_RevF_wave300.bin   ProgModel_BG_nCB_40_RevH_ar10.bin
ProgModel_A_nCB_32_RevA_wave300.bin   ProgModel_BG_nCB_40_RevI_ar10.bin
ProgModel_A_nCB_32_RevB_wave300.bin   ProgModel_BG_nCB_40_RevJ_ar10.bin
ProgModel_A_nCB_33_RevA_wave300.bin   ProgModel_BG_nCB_40_RevK_ar10.bin
ProgModel_A_nCB_33_RevB_wave300.bin   ProgModel_BG_nCB_40_RevL_ar10.bin
ProgModel_A_nCB_34_RevA_wave300.bin   ProgModel_BG_nCB_40_RevM_ar10.bin
ProgModel_A_nCB_34_RevB_wave300.bin   ProgModel_BG_nCB_40_RevN_ar10.bin
ProgModel_A_nCB_35_RevA_wave300.bin   ProgModel_BG_nCB_40_RevO_ar10.bin
ProgModel_A_nCB_35_RevB_wave300.bin   ProgModel_BG_nCB_40_RevP_ar10.bin
ProgModel_A_nCB_36_RevA_wave300.bin   ProgModel_BG_nCB_40_RevQ_ar10.bin
ProgModel_A_nCB_36_RevB_wave300.bin   ProgModel_BG_nCB_40_RevR_ar10.bin
ProgModel_A_nCB_36_RevC_wave300.bin   ProgModel_BG_nCB_40_RevS_ar10.bin
ProgModel_A_nCB_36_RevD_wave300.bin   ProgModel_BG_nCB_41_RevA_ar10.bin
ProgModel_A_nCB_36_RevE_wave300.bin   ProgModel_BG_nCB_41_RevB_ar10.bin
ProgModel_A_nCB_36_RevF_wave300.bin   ProgModel_BG_nCB_ar10.bin
ProgModel_A_nCB_36_RevG_wave300.bin   ProgModel_BG_nCB_wave300.bin
ProgModel_A_nCB_37_RevA_wave300.bin   Seria_Number
ProgModel_A_nCB_37_RevB_wave300.bin   WAN_ETH_status
ProgModel_A_nCB_37_RevC_wave300.bin   WAN_ETH_uptime
ProgModel_A_nCB_37_RevD_wave300.bin   WAN_status
ProgModel_A_nCB_38_RevA_wave300.bin   WAN_uptime
ProgModel_A_nCB_38_RevB_wave300.bin   WLAN_uptime
ProgModel_A_nCB_39_RevA_wave300.bin   WLAN_uptime_5G
ProgModel_A_nCB_39_RevB_wave300.bin   ap_upper_ar10.bin
ProgModel_A_nCB_3A_RevB_wave300.bin   ap_upper_wave300.bin
ProgModel_A_nCB_3A_RevC_wave300.bin   auto_ctlfile
ProgModel_A_nCB_3B_RevA_wave300.bin   board
ProgModel_A_nCB_3B_RevB_wave300.bin   bridge_init
ProgModel_A_nCB_3C_RevA_wave300.bin   cal_wlan0.bin
ProgModel_A_nCB_3C_RevB_wave300.bin   config
ProgModel_A_nCB_3C_RevC_wave300.bin   configs
ProgModel_A_nCB_3D_RevA_wave300.bin   contr_lm.bin
ProgModel_A_nCB_3D_RevB_wave300.bin   crontabs
ProgModel_A_nCB_wave300.bin           drvhlpr_params.sh
ProgModel_BG_CB_30_RevA_wave300.bin   drvhlpr_wlan0
ProgModel_BG_CB_30_RevB_wave300.bin   drvhlpr_wlan0.conf
ProgModel_BG_CB_30_RevC_wave300.bin   etc
ProgModel_BG_CB_31_RevA_wave300.bin   fileinfo.txt
ProgModel_BG_CB_31_RevB_wave300.bin   firmware_region
ProgModel_BG_CB_31_RevC_wave300.bin   guest_access
ProgModel_BG_CB_31_RevD_wave300.bin   guest_access_ar10
ProgModel_BG_CB_31_RevE_wave300.bin   hostapd
ProgModel_BG_CB_31_RevF_wave300.bin   hostapd_wlan0
ProgModel_BG_CB_32_RevA_wave300.bin   hostapd_wlan0.0
ProgModel_BG_CB_32_RevB_wave300.bin   hostapd_wlan0.0.conf
ProgModel_BG_CB_33_RevA_wave300.bin   hostapd_wlan0.conf
ProgModel_BG_CB_33_RevB_wave300.bin   hosts
ProgModel_BG_CB_34_RevA_wave300.bin   lang
ProgModel_BG_CB_34_RevB_wave300.bin   lang_status
ProgModel_BG_CB_35_RevA_wave300.bin   lock
ProgModel_BG_CB_35_RevB_wave300.bin   log
ProgModel_BG_CB_36_RevA_wave300.bin   log_enabled
ProgModel_BG_CB_36_RevB_wave300.bin   meter
ProgModel_BG_CB_36_RevC_wave300.bin   meter_mount
ProgModel_BG_CB_36_RevD_wave300.bin   mtlk_cli_port_drvhlpr_wlan0
ProgModel_BG_CB_36_RevE_wave300.bin   multi_lang
ProgModel_BG_CB_36_RevF_wave300.bin   netscan
ProgModel_BG_CB_36_RevG_wave300.bin   nvram
ProgModel_BG_CB_37_RevA_wave300.bin   old_lan1_ipaddr
ProgModel_BG_CB_37_RevB_wave300.bin   old_lan1_netmask
ProgModel_BG_CB_37_RevC_wave300.bin   p_ft
ProgModel_BG_CB_37_RevD_wave300.bin   port_status
ProgModel_BG_CB_38_RevA_wave300.bin   pot_value
ProgModel_BG_CB_38_RevB_wave300.bin   ppe_firmware
ProgModel_BG_CB_39_RevA_wave300.bin   ppp
ProgModel_BG_CB_39_RevB_wave300.bin   radar_info
ProgModel_BG_CB_3A_RevB_wave300.bin   resolv.conf
ProgModel_BG_CB_3A_RevC_wave300.bin   resolv1.conf
ProgModel_BG_CB_3B_RevA_wave300.bin   rt_tables
ProgModel_BG_CB_3B_RevB_wave300.bin   run
ProgModel_BG_CB_3C_RevA_wave300.bin   strangswan
ProgModel_BG_CB_3C_RevB_wave300.bin   tc_pot
ProgModel_BG_CB_3C_RevC_wave300.bin   telnetip
ProgModel_BG_CB_3D_RevA_wave300.bin   tmp
ProgModel_BG_CB_3D_RevB_wave300.bin   traffic_meter
ProgModel_BG_CB_40_RevA_ar10.bin      uboot_env.config
ProgModel_BG_CB_40_RevB_ar10.bin      var
ProgModel_BG_CB_40_RevC_ar10.bin      wan
ProgModel_BG_CB_40_RevD_ar10.bin      wan_hwaddr
ProgModel_BG_CB_40_RevE_ar10.bin      wl_att_dev
ProgModel_BG_CB_40_RevF_ar10.bin      wl_freq
ProgModel_BG_CB_40_RevG_ar10.bin      wl_guest_att_dev
ProgModel_BG_CB_40_RevH_ar10.bin      wl_relative_channel
ProgModel_BG_CB_40_RevI_ar10.bin      wla_att_dev
ProgModel_BG_CB_40_RevJ_ar10.bin      wla_guest_att_dev
ProgModel_BG_CB_40_RevK_ar10.bin      www
ProgModel_BG_CB_40_RevL_ar10.bin

/ # ls -l /lib/firmware
drwxr-xr-x    2 root     root           84 Apr 17  2015 2.6.32.42
-rw-r--r--    1 root     root         6595 Apr 17  2015 LICENSE
lrwxrwxrwx    1 root     root           16 Apr 17  2015 ar9_firmware.bin -> vr9_firmware.bin
-rw-r--r--    1 root     root       532864 Apr 17  2015 fw_voip_vr9-2.3.0.7.0.bin
-rw-r--r--    1 root     root       533152 Apr 17  2015 fw_voip_vr9-2.3.1.7.0.bin
-rw-r--r--    1 root     root          300 Apr 17  2015 vr9_bbd_fxo.bin
-rw-r--r--    1 root     root          388 Apr 17  2015 vr9_bbd_fxs.bin
lrwxrwxrwx    1 root     root           25 Apr 17  2015 vr9_firmware.bin -> fw_voip_vr9-2.3.1.7.0.bin

Is there a way to compile or find a compativle firmware for it?

Thanks

There is a D6100 GPL on that page:
https://www.downloads.netgear.com/files/GPL/D6100_V1.0.0.50_0.0.50_GPL.zip

Next step would be to open it up and get the chip numbers.

Looks like Atheros radio drivers. Maybe parts are similar to the R6100, though the SoC in the R6100 is a MIPS74kc core. R6100 also has no GbE, only the 10/100 switch internal to the SoC.

Well the 1.0.0.50 gives "file not found" error, but I got the previous versions of the firmware.

Where can i find a step by step guide about creating a new Lede firmware package? or in general, how do I do that?
I'm willing to try the procedure, but I've never done it before.

Maybe I should post again the developer section?

Maybe this is a starting point: https://lede-project.org/docs/guide-developer/adding_new_device
But you shouldn't take step #2 before step #1.

Step #1:

And while you are at it, you could create a page for this device on wikidevi, but that's optional.

This GPL dump interests me, however it seems to no longer be available.

Can anyone share a downloaded copy?

Thanks!

Have you checked https://kb.netgear.com/2649/NETGEAR-Open-Source-Code-for-Programmers-GPL ?

1 Like

Hello,

This dump is useful. It seems to contain the driver for the WAVE 400, but not for the WAVE 300 that I am looking for.

Thanks for the help!

Actually no driver, only binaries.