Friday, February 1, 2013

Update2 : OpenWrt on a Belkin Share Max N300 (F7D3301 or F7D7301)

Please refer to my old blog post for the details on the modifications. This is just an update from the earlier patches, and some of the content in earlier blog apply here as well.

As of rev@34995 (Jan 2013), the bgmac driver is officially supported in OpenWrt. This means now we dont have to apply George's patches to get the bgmac support anymore.

We still need the patches for
1. LZMA loader
2. Belkin custom TRX magic
3. Diag
4. Netconfig scripts.

I am posting a cleaner updated patch below, which applied perfectly on top of rev@35445. It should work without much pain on most other recent trunk versions as well.


Below are the exact steps to produce a trx file, which can be flashed via CFE.
1. Checkout openwrt (a specific version)
svn checkout --revision=35445 svn://svn.openwrt.org/openwrt/trunk
Other versions may work, but I have not tested any other version for these patches.

2.  Apply My custom patches
    Download from here: belkin.7301.r35445.patch
    cd trunk   
    patch -p1< belkin.7301.r35445.patch

3. make menuconfig    
    select Target System Broadcom BCM947xx/953xx
    select Target Profile Broadcom SoC, bgmac Ethernet, BCM43xx Wifi wl
    make

You will have the trx in the usual place after a successful compile.
Look for the file: bin/brcm47xx/openwrt-brcm47xx-f7d3301-squashfs.trx


Please note the below points if you flash the above trx.
1. default IP address at LAN side is 192.168.2.1
2. telnet can be accessed at default IP,



--------------------------------
Please note that I am trying to submit this patch to openwrt officially and get it supported. But it seems like there might be some work to clean it up for the likings of openwrt. Any of you folks are familiar with the process, please feel free to take the patch and submit it.
--------------------------------

29 comments:

  1. Thank you so much Manoj for your time making these.

    ReplyDelete
  2. Do you have a pointer to any OpenWRT discussion?
    I can see why this might be problematic. The different TRX magic doesn't fit well in the build.

    I'm still interested in learning about the submit process (see comments on other post).

    (BTW, can I reach you through email or PM? I'm on gmail username zwizwa.)

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Thanks Manoj. Any thoughts on how this would work on the newly released 12.09? Any specific mods we have to do to 12.09?

    ReplyDelete
    Replies
    1. no idea. I stopped maintaining this log back, and I believe the trunk version openwrt made a lot more progress.

      Delete
  5. Thank you so much Manoj
    for 7d3302 changed
    TRX MAGIC 0x20090928
    vlan0ports 0 1 2 3 5*
    vlan1ports 4 5
    works

    ReplyDelete
  6. Will your patches work for the f7d8302/f7d4302 the dual band version with 100mbit lan of the 7301/3301 ?

    Any tips on how I can change your patches for these routers?

    Thanks!

    ReplyDelete
    Replies
    1. Hmmm not sure. But in general I think the steps could be same, but I could very well see them using a different switch and having a different trx magic. See the post above about a user making similar approach work for a 7d3302.

      How about the openwrt trunk. I think the trunk made a lot of progress beyond the time I posted the original blog? So you might want to cross check the trunk as well.

      Delete
    2. Thanks for this. I don't know about the F7D330x, but I've just tried OpenWRT trunk (r38898) and it works out of the box on the F7D4301. I built with:
      target system = Broadcom BCM947xx/953xx
      target profile = Broadcom SoC, all Ethernet, BCM43xx WiFi (wl, proprietary))
      and used the generic openwrt-brcm47xx-squashfs.trx image and followed the programming instructions from here:
      http://www.dd-wrt.com/phpBB2/viewtopic.php?t=78042&postdays=0&postorder=asc&start=300
      (main thing to remember is OpenWRT doesn't start a GUI by default so you have to telnet in and install it)

      So far 5GHz doesn't work, haven't tried USB yet.

      Looking at the source, there isn't support for the F7D330x TRX header magic, but there's an equivalent hack for EDIMAX_PS_HEADER_MAGIC. So you patch might get accepted on a similar basis.

      Delete
    3. I see that folks at openwrt took the pain to integrate my patches to some other routers as well. So this blog post may not be needed anymore, since it may work out of the box.

      http://wiki.openwrt.org/toh/belkin/f7d4401

      Delete
  7. Nice job. Manoj, you got me thinking on how did you manage to get the Belkin's proprietary TRX format. Did you simply infer it from the oringinal TRX?

    ReplyDelete
    Replies
    1. yes just by analysing the trx. The usual tools hexeditor, binwalk :)

      Delete
  8. Slightly off topic but related: any idea as to when the next version of OpenWRT will be released and if there will be a build or trx file for this router available for non techies? Thanks.

    ReplyDelete
    Replies
    1. I think I kind of lost interest in this router, and I may not have further updated trxs etc uploaded. Not sure whether openwrt already had started support for this. There was an effort to take my patches and make it official in openwrt.

      Delete
  9. Anyone heard of this router software built on OpenWRT: http://www.gargoyle-router.com/
    Apparently the Asus WL500G Premium v1-2 is supported as it has a Broadcom chip: http://www.gargoyle-router.com/wiki/doku.php?id=supported_routers_-_tested_routers

    This should work on our routers me thinks? Anyone?

    ReplyDelete
    Replies
    1. i do not think it is directly usable. But yes, you could make it work by doing the modifications I had explained. The CFE (bootloader) is different in belkin and the asus. And most probably the switch will be different.

      Delete
  10. Can we use the generic openwrt-brcm47xx-squashfs.trx in OpenWRT 12.09 as is without any mods required? Thanks.

    ReplyDelete
  11. I compiled the r41852 trunk of OpenWRT and put everything on this site:

    http://openwrt.cegepth.info/brcm47xx/

    Thanks to Cody Schafer's patches! Flash it if you want... It works for me. However, I'm not responsible if it bricks your router (even if I will be very surprised).

    Cheers!

    ReplyDelete
    Replies
    1. Hi.
      On the http://openwrt.cegepth.info/brcm47xx/ You have f7d3302.bin file for web-flashing.
      How You create it from trx?
      P.S. Sorry for my english.

      Delete
    2. I check Your bin. It's working on my F7D3302 v1 to. But wifi have only b&g state. Can You say step-by-step how aply all Cody P Schafer's patches on the current trunk of the OpenWrt?
      I'll try to make it again.
      P.S. Sorry for my english.

      Delete
    3. Sorry for the delay... I put this patch of patches there:

      http://pastebin.com/7xaUfUbb

      I decided to build this version for F7D3301 this summer for my class... Students have to acquire some knowledge about VLAN ans so on. OpenWRT is great for that. Also, we didn't use WiFi because the interferences in our College. So I didn't notice.

      If you are able to implement 802.11n, I will be happy to integrate this in the firmware when I will have some hours...

      Regards,

      Luc

      Delete
    4. Maybe it will be simplier this way:

      http://openwrt.cegepth.info/brcm47xx/patch.belkin.svn.41852

      Regards again,

      Luc

      Delete
    5. Hello Luc, I have discovered your xen builds, do you mind stopping by my blogger blog (Secret Lair Labs) and commenting on my Openwrt 14.07 post? If you would publish on your website the .config used to create your images that would be wonderful. Thanks!

      Delete
    6. Forgot to check the 'notify me' checkbox for replies.
      Here's the post's URL just in case.
      http://blog.sllabs.com/2014/12/openwrt-1407-as-xen-domu.html

      Delete
    7. Kamilion...

      Check this:

      http://openwrt.cegepth.info/openwrt-xen/.config

      Delete
  12. Official support in openwrt trunk for some time now.

    https://dev.openwrt.org/browser/trunk/target/linux/brcm47xx/patches-3.14/142-MIPS-BCM47XX-add-Belkin-F7Dxxxx-board-detection.patch

    ReplyDelete