Coder Social home page Coder Social logo

hurricos / openwrt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from openwrt/openwrt

0.0 0.0 1.0 228.34 MB

This repository is a mirror of https://git.openwrt.org/openwrt/openwrt.git It is for reference only and is not active for check-ins or for reporting issues. We will continue to accept Pull Requests here. They will be merged via staging trees then into openwrt.git. All issues should be reported at: https://bugs.openwrt.org

License: Other

Makefile 16.59% Shell 6.02% C 71.86% C++ 0.33% Perl 2.49% Awk 0.03% Assembly 1.47% Lex 0.07% Yacc 0.10% Python 0.44% CMake 0.02% M4 0.58% UnrealScript 0.01%

openwrt's People

Contributors

acoul avatar adschm avatar ansuel avatar aparcar avatar blocktrron avatar blogic avatar chunkeey avatar dangowrt avatar dedeckeh avatar embeem avatar ffainelli avatar graysky2 avatar hauke avatar jow- avatar juhosg avatar kaloz avatar kanjimonster avatar larsclausen avatar ldir-edb0 avatar lperkov avatar mkresin avatar nbd168 avatar neheb avatar noltari avatar pepe2k avatar polynomialdivision avatar rmilecki avatar stintel avatar wigyori avatar ynezz avatar

Watchers

 avatar

Forkers

lispmachine

openwrt's Issues

HiveAP 370: Enable a/b booting

For this to work, we will need:

  • A/B kernel partitions in the .dts
  • To find the A/B configuration in one of the existing mtd partitions
  • Differing owrt_boot instructions

ws-ap3825i: Find out exactly how big the initramfs must get for the suggested bootcmd to fail

We want to know how to limit the kernel size in the p1020.mk build definition Makefile for this target.

To do so:

Tasks

  • Verify that booting from a compressed kernel fails (past 16M? 32M?)
  • Produce the most forgiving boot instructions possible (largest kernel, though bound *that by ~24MB)
  • Repeatedly pack the initramfs with crap (just dd from /dev/random into a file in the filesystem under files) until the boot instructions stop working
  • Commit back relevant boundary changes to p1020.mk

HiveAP 370: Document installation process

As it stands

Without A/B partitioning, this is just:

setenv owrt_boot_a='nand read 0x1000000 0x560000 0x2000000\; nand read 0x6000000 0x520000 0x40000\; bootm 0x1000000 - 0x6000000\;'
setenv owrt_boot_b 'nand read 0x1000000 0x560000 0x2000000\; nand read 0x6000000 0x520000 0x40000\; bootm 0x1000000 - 0x6000000\;'

# <do u-boot IP address setup>

tftpboot 0x1000000 openwrt-mpc85xx-p1020-aerohive_hiveap-370-initramfs-kernel.bin;
tftpboot 0x6000000 openwrt-mpc85xx-p1020-aerohive_hiveap-370-squashfs-fdt.bin;

bootm 0x1000000 - 0x6000000;

# ... from Linux:
# copy down the sysupgrade.bin, then
sysupgrade -v /tmp/<sysupgrade.bin>

HiveAP 370: Replace platform-specific version of `nand.sh` with hacky build of dtb + initramfs

Synopsis

There were concerns about making platform-wide nand.sh and sysupgrade-tar.sh changes. Since we can afford to patch u-boot now and problems like this can be surmounted, we should try gutting this code.

Tasks

  • Verify FIT images are unsupported
    • Attempt to build + boot a fit image
  • Build and test dtb + kernel booting
    • Produce correct u-boot command, plus partitioning in dts
  • Trace nand sysupgrade code to confirm sysupgrade build process
  • Test sysupgrade

HiveAP 370: Add a library to patch u-boot cleanly

Goals

  • Patch /dev/mtd1 and /dev/mtd2 so that ggboot boots run_owrt_a and run_owrt_b, respectively
  • Idempotent; harmless if run multiple times
  • Include as a library file for the mpc85xx target, included with OpenWrt so the initramfs can do its job

FR: mpc85xx: Support Ruckus R700

See https://forum.openwrt.org/t/create-firmware-for-ruckus-r700/133484

Checklist

  • Booting
    • How does the OEM device boot?
      • Q: What's the output of help in u-boot?
      • Q: What's the output of printenv in u-boot? (please scrub MACs and serials, etc.)
        • [Where's the link?]
      • Sounds like from the above, we know the OEM device uses SPI flash -- not memory-mapped on this platform -- and so uses sf to start the SPI flash subsystem and copy stuff out of it into RAM before booting. This, combined with the absence of a bootcmd, strongly suggests we'll find the stock boot commands in the strings in the original flash dump. So:
      • TODO: Dump flash and strings | grep -we sf through it to find the scripts it runs on boot.
      • Do we know of other Ruckus boards that use u-boot? Are there special OpenWrt workarounds for this?
    • Device tree
      • TODO: We'll start by copying another P1010-like from under target/linux/mpc85xx/files/arch/powerpc/boot/dts on the main branch, and beginning to edit the partition list under {lbc:nor@0,0:partitions} (or equivalent -- there is more than one way to create a device tree that the kernel can use to find its rootfs.)
  • Wireless
    • Calibration?
      • This board almost certainly uses on-flash calibration data because
        • TODO: Confirm the calibration data is in flash.
      • See https://github.com/rsa9000/atheepmgr for C code which can decode calibration data files.
        • In ath9k world, calibration data sits in a single 0x10000 page, at 0x1000 and 0x5000 for 2.4 and 5GHz, respectively.
        • In ath10k ... not so sure. Worth checking atheepmgr or (more importantly) other ports which must load calibration data to run the ath10k cards.

mpc85xx: msm466: Build OpenWrt device tree for this board

GPIO

OK, J4 is this:
 1 - GPIO 0 / LED 2 / POWER
 2 - +V / LED
 3 - GPIO 1 / LED 3 / ETHERNET
 4 - +V / LED
 5 - GPIO 2 / LED 4 / WIRELESS 1
 6 - +V / GPS (on prototype)
 7 - GPIO 3 / LED 5 / WIRELESS 2
 8 - +V / GPS (on prototype)
 9 - GPIO 11
10 - GND / GPS (on prototype)
11 - HRESET (Reset Button)
12 - +V / GPS / Reset Button Input
13 - GPIO 12
14 - GND / GPS
15 - GPIO 13
16 - GND / GPS
On J2, what I have verified with tracing so far is this:
 1 - TDO
 3 - TDI
 7 - TCK
 9 - TMS
11 - SRESET
15 - CKSTP_OUT0

mpc85xx: Build and test u-boot replacement on HP MSM466

Hardware needed

  • BDI2000/C
    • In-hand
    • Power supply
      • 5v, spliced to a 2x2 pinout; see this diagram: image
    • Null-modem serial cable
      • Probably check the eWaste bin at the Lab.
    • 2x8 pin ribbon cable, e.g. this link
      • Glue back together the hacked one I have
      • Continuity-test that it works
      • Test whether the hardware actually pins into the BDI2000/C
    • Re-flashed to 85xx firmware
      • Hardware reflash
      • Logic reflash
        • Stuck on this latter one: not sure how the logic is to be reflashed. Maybe by starting up bdiGDB?
    • Test the BDI2000/C

Software needed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.