From owner-freebsd-wireless@FreeBSD.ORG Sat Jan 3 00:25:57 2015 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 0DD30DF8 for ; Sat, 3 Jan 2015 00:25:57 +0000 (UTC) Received: from mail-ob0-x22d.google.com (mail-ob0-x22d.google.com [IPv6:2607:f8b0:4003:c01::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id C69492575 for ; Sat, 3 Jan 2015 00:25:56 +0000 (UTC) Received: by mail-ob0-f173.google.com with SMTP id uy5so54819072obc.4 for ; Fri, 02 Jan 2015 16:25:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:cc:content-type; bh=fc7GGhxr/h3ix+jjYFJZjMq1BSO5/70pkYs+hXwfptw=; b=pjenuXYuLNgBdstcyUFVYLPxX7m0j/QNWChAWY5Ux0iKuJuQ6gWHIBkTZf1HeZ34Cc OicCaRm/Jr3uEVuscqE8FA2SHG1bsyE7yoNwEoFZDb3hsQeSY7c4WZ5QUrnlvnoMlsd+ i3QDBHu/RUKZ+MZu6lEZD7gJ4CyVc7ZOcDzKc8oP3Ku43xIre2CkZbCjnCr5sTGhKKM4 FLWAX8sB/hi+RcBTuwAhZlVPlgtzp8LKpdydL75gRfSr3EDFUA9LJudA51UBPxttHa0D BELfeqoyRCYIxH1GrGOYB1hbimFIBfdfFcsAuQfemaFCcoKzXa4YnxvOZovnEvz8p7cy P47Q== MIME-Version: 1.0 X-Received: by 10.202.4.5 with SMTP id 5mr44384438oie.22.1420244756033; Fri, 02 Jan 2015 16:25:56 -0800 (PST) Received: by 10.182.23.111 with HTTP; Fri, 2 Jan 2015 16:25:56 -0800 (PST) Date: Sat, 3 Jan 2015 03:25:56 +0300 Message-ID: Subject: TP-Link TL-WDR4300 Support From: Mike To: freebsd-wireless@freebsd.org Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 03 Jan 2015 00:25:57 -0000 Ok, original TP-Link uboot is refusing to accept images without TP-Link header and lacks many useful commands, so I reflashed mine TP-Link with alternative U-Boot to quickly check, will it boot FreeBSD or not. In case someone else wants to do it too, here is what I did: 1. Downloaded compiled pepe2k uboot (https://github.com/pepe2k/u-boot_mod) from https://raw.githubusercontent.com/gwlim/Openwrt_Firmware/master/TP-Link_TL-WDR3500-3600-43XX-WM4350R/TP-Link_TL-WDR3500-3600-43XX-WM4350R_Overclock_Section/uboot_for_tp-link_tl-wdr3600-43x0_oc_600_400_200.bin 2. Flashed from original TP-Link uboot: tftpboot 0x80800000 uboot_for_tp-link_tl-wdr3600-43x0_oc_600_400_200.bin erase 0x9F000000 +0x10000 cp.b 0x80800000 0x9F000000 0x10000 reset 3. After that FreeBSD started booting. Pastebin: http://pastebin.mozilla.org/8156450 4. I should warn, that printenv is changed dramatically after this uboot update: Before: bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),64k(mib0),64k(ART) bootcmd=bootm 0x9f020000 bootdelay=1 baudrate=115200 ethaddr=0xba:0xbe:0xfa:0xce:0x08:0x41 ipaddr=192.168.1.111 serverip=192.168.1.100 dir= lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize;cp.b $fileaddr 0x9f000000 $filesize lf=tftp 0x80060000 ${dir}db12x${bc}-jffs2&&erase 0x9f050000 +0x630000;cp.b $fileaddr 0x9f050000 $filesize lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f680000 +$filesize;cp.b $fileaddr 0x9f680000 $filesize stdin=serial stdout=serial stderr=serial ethact=eth0 After: bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),64k(mib0),64k(ART) bootcmd=bootm 0x9F020000 bootdelay=1 baudrate=115200 ipaddr=192.168.1.1 serverip=192.168.1.2 bootfile="firmware.bin" loadaddr=0x80800000 ncport=6666 uboot_addr=0x9F000000 uboot_name=uboot.bin uboot_size=0x10000 uboot_upg=if ping $serverip; then tftp $loadaddr $uboot_name && if itest.l $filesize == $uboot_size; then erase $uboot_addr +$filesize && cp.b $loadaddr $uboot_addr $filesize && echo OK!; else echo ERROR! Wrong file size!; fi; else ERROR! Server not reachable!; fi firmware_addr=0x9F020000 firmware_name=firmware.bin firmware_upg=if ping $serverip; then tftp $loadaddr $firmware_name && erase $firmware_addr +$filesize && cp.b $loadaddr $firmware_addr $filesize && echo OK!; else ERROR! Server not reachable!; fi stdin=serial stdout=serial stderr=serial ethact=eth0 -- With best regards from Russia, Mike