====== Hacksessions ====== {{tag> event software hardware computing networking}} In short: **a project by exco&makefu for social interaction, hacking skills, doing stuff** ===== Hacksessions #5 ===== Any ideas? Just do it. ===== #2-4 minikrebs upgrading ===== exco, makefu, toerb, albi, alexander, namevergessen we learned/showed/helped each other * different techniques how to de- resolder the chips (with old ram sticks). * programming of the new soic-8 flash chips witha CH341A programmer (windows only, even after hack session) * infrared soldering/hot air reflow soldering / manual smd soldering: 32MB → 64MB Ram, 4→ 16MB flash * adding external SMA-connector for external antennas - simple and sweet hack * dd/cat new images * flashing openwrt Code here - [[https://github.com/makefu/wr703_mod/|git repo]] ===== Hardware TP-Link WR703N / WR702N / MR3020 ===== Hardware Platform is in most cases the TP-Link WR703N / WR702N / MR3020 Upgrades (all above mentioned devices): * possible flash-upgrade [[http://www.datasheetdir.com/MX25L6445EM2I-10G+download|(8MB) MX25L6445EM2I]] / this needs new uboot -> [[http://www.nexflash.com/NR/rdonlyres/A5B6C30B-C174-43CF-867E-E1A2F371A07C/0/W25Q128FV.pdf|(16MB) W25Q128]] * ram [[http://www.datasheetarchive.com/dlmain/Datasheets-13/DSA-254809.pdf|(64MB) HY5DU121622]] * SMA connector (not: RP SMA ... as in reverse pin), these are astonishingly hard to get, we only got a 20-package: http://www.aliexpress.com/item/Wholesale-RP-SMA-female-antenna-cable-RG316-15cm-Free-shipping/602734040.html ==== Flasher ==== WCH CH341A * seems not to be supported by flashrom: * using windows software from: https://github.com/makefu/wr703_mod/tree/master/ext_documentation * we have not made it working in a VM ... with a broken usb cable as it turns out. ===== uboot ===== * you need to upgrade uboot to be able to use new 16MB flash chip and find ART partition and more ... makefu go https://github.com/pepe2k/u-boot_mod ==== crosscompiling ==== * get installer from: https://sourcery.mentor.com/GNUToolchain/release2640 * gcc for MIPS seems to be working as well ==== GUI ==== gui didn't seem to be working for me: as a user ./installer -console # click through... install location: $HOME/sc_mips ==== add to path ==== echo "export $PATH=$PATH:$home/sc_mips/bin" >> ~/.zshrc ==== goto checked out project ==== cd u-boot_mod make tplink_wr703n make tplink_mr3020 ==== booting u-boot_mod ==== Hold button for 3 seconds to get http-server at 192.168.1.1, the wr703 will blink every second and flash shortly if released at the correct time. ===== Image ===== We created the following image in the end: * Boot-loader (mtd0) (128k) * 64k u-boot (pepe2k) * cd u-boot_mod; make tplink_mr3020 * 64k data (copy from old image) * dd if=old_image.bin of=data.bin bs=1 skip=65536 count=65536 * openwrt-image (mtd1-mtd3) (rest space) * we built one which provides maximum size (16mb) for building and with write-protection removed from mtd0 and mtd4 * in target/linux/ar71xx/files/drivers/mtd/tplinkpart.c change parts[3].mask_flags=MTD_WRITABLE and parts[0].mask_flags=MTD_WRITABLE to 0 * ART (mtd4) (65k) * 64k wifi config data (copy from old image) * dd if=old_image.bin of=art.bin bs=1 skip=$(($old_image_size - 65536)) Buy WR703N at: * [[https://www.amazon.de/dp/B008UNA6FS/?tag=krebsco-21|Amazon de]] * [[http://www.amazon.com/dp/B0083Z54P0/?tag=krebsco-20|Amazon com]] * [[http://wiki.openwrt.org/_media/toh/tp-link/en25q32.pdf|4MB Eon EN25Q32B]] * [[http://wiki.openwrt.org/_media/toh/d-link/d-link.dir-615e4-a3s56d3040etp.pdf|32MB Zentel A3S56D40FTP ram]] * [[http://wiki.openwrt.org/toh/tp-link/tl-wr703n|openwrt page]] WR702N * TP-Link wr702n [[ http://pdf1.alldatasheet.com/datasheet-pdf/view/458190/EON/EN25QH16-104HIP.html|2MB EN25QH16 flash]] * You will need to replace both, RAM and flash and you will not have a working USB adapter. just buy a wr703 MR3020 * [[http://wiki.openwrt.org/toh/tp-link/tl-mr3020|openwrt page]] * [[http://www.amazon.de/dp/B00634PLTW/?tag=krebsco-21|buy at amazon.de]] * [[http://www.amazon.com/dp/B006DEBXD0/?tag=krebsco-20|buy at amazon.com]] ===== pics ===== ... got lucky ... all pulled pads were not connected ;-) * {{https://lh3.googleusercontent.com/-fl2-sOyfYvo/UuOgoQm2UeI/AAAAAAAAaxU/Wa7l_cirPCc/s640/IMG_20140124_222731.jpg}} * {{https://lh5.googleusercontent.com/-QpsS7A8yJls/UuOgoQSYIcI/AAAAAAAAaxU/8bGWYbLgQvo/s640/IMG_20140124_205544.jpg}} keeping everything in order * {{https://lh6.googleusercontent.com/-13w8xw7D6ng/UytThPema1I/AAAAAAAAdRE/TW2K1vvWBHc/s640/IMG_20140320_205504.jpg}} ===== Lessons Learned ===== * don't pull traces off the pcb / roy bear (killed his wr702n) * upgrading ram chips sucks donkey balls / one-two are fine ... more ... no fun * 16MB flash requires a different u-boot / makefu * computers just suck / makefu * sometimes an easy task just isn't that easy - even if _the internet_ tells you otherwise /all * a 150mil sop8 programming adapter won't fit a 200mil chip * blinking led's are awesome / albi * barbecue takes too much time away from your hacking session / albi * rp SMA is not the plug you want * completely read through (not skim) wifi and forum entries, i completely overlooked that the bootloader contains two parts: code AND config data /makefu * Cross-Compiling (openWRT, u-boot) is not that hard /makefu * the u-boot_mod by pepe2k (https://github.com/pepe2k/u-boot_mod) is absolutely great as it provides an extremely simple way to upgrade the router via http-failsafe. /makefu ===== #1: Soundflower ===== * [[friedhof:soundflower#hacksession_1]]