Difference between revisions of "WRT54G"

From Embedded Xinu
Jump to navigation Jump to search
 
(25 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Transceiver from GL causes dropped characters; using Linksys transceiver
+
{{Cleanup}}
 +
 
 +
Transceiver from GL causes dropped characters; using [http://www.linksys.com Linksys] transceiver
 +
* <strike>possibly solved by "tighter" transceiver construction</strike>
 +
* construction of transceiver using Analog Devices ADM202JN using .22uF capacitors in charge pump (C1 + C2)
 +
* possibility of strapping additional capacitance across internal condensers of Maxim transceiver
 +
** pin8:C1+ ; pin13:C1-  using 0.1uF or greater capacitor
 +
** pin11:C2+ ; pin10:C2-  using 0.1uF or greater capacitor
 +
 
 +
== loading CFE ==
 +
 
 +
VxWorks will flash over itself with CFE - http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRT54G
 +
 
 +
Attempted to load micro openWRT kernel and CFE over VxWorks
 +
* upload failed - incompatible browser?
 +
* despite successful re-load of original firmware, bootloader refuses to find image on flash
 +
* possible solutions are loading fresh VxWorks from network or reloading flash through [[EJTAG]] port
 +
 
 +
== loading XINU ==
  
 
Control-C interrupts VxWorks loader, as it does in CFE.
 
Control-C interrupts VxWorks loader, as it does in CFE.
 +
VxWorks has an advantage over CFE in that it will remember bootloader settings for tftp host after powercycle.  This removes the need for special xinu-console script to talk to CFE.  Just run xinu-console, download compiled boot image, and powercycle.
  
Configured to load XINU from Morbius; hangs on boot.
+
Settings for VxWorks bootloader:
 +
* boot device: vl0
 +
* host name: morbius
 +
* file name: {backend name}.boot
 +
* inet on ethernet: 192.168.6.{assigned by morbius}
 +
* host inet: 192.168.6.10
 +
* flags 0x88  --tftp and quickboot
  
* remove first 3 lines of loader/start.S
+
Changes to current XINU revision for 'G' compatibility: +
* check for serial port hardware address; compatible with XINU?
+
* loader/start.S
* VxWorks starting arguments similar to CFE?
+
** change max physical address from 0x81000000 to 0x80800000 (cut in half)
 +
** removal of cfe_api.c from loader, remove references in start.S $
 +
** replaced CFE cache flushing with fresh cache initialization function
 +
** altered mips.h for macros in loader cache init function
 +
* system/xdone.c - remove CFE_exit(), add new halt() function
 +
* uart/uartInit.c
 +
** remove '''ucptr->uart_dll = 0x0B;'''
 +
** remove '''ucptr->uart_dlm = 0x00;'''
 +
** If one queries the hardware, values to replace '''0B''' and '''00''' can be identified, '''0E''' and '''00'''
  
VxWorks will flash over itself with CFE - http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRT54G
+
 
 +
+ Loader now reads CPU revision number from CP0 PRId register.  This automatically sets max physical address and UART baud rate divisor based on router model.
 +
 
 +
The CFE cache initialization has been replaced in XINU v1.0 for WRT54G compatibility.
 +
 
 +
== See also ==
 +
* [[WRT54GL]]
 +
* [[wikipedia:WRT54G|WRT54G Wiki]]

Latest revision as of 04:17, 14 September 2007

✘ This page may require cleanup to meet academic/public standards.
A page requiring cleanup may have been hastily added or difficult to understand by outsiders. More information can be found on the talk page.

Transceiver from GL causes dropped characters; using Linksys transceiver

  • possibly solved by "tighter" transceiver construction
  • construction of transceiver using Analog Devices ADM202JN using .22uF capacitors in charge pump (C1 + C2)
  • possibility of strapping additional capacitance across internal condensers of Maxim transceiver
    • pin8:C1+ ; pin13:C1- using 0.1uF or greater capacitor
    • pin11:C2+ ; pin10:C2- using 0.1uF or greater capacitor

loading CFE

VxWorks will flash over itself with CFE - http://wiki.openwrt.org/OpenWrtDocs/Hardware/Linksys/WRT54G

Attempted to load micro openWRT kernel and CFE over VxWorks

  • upload failed - incompatible browser?
  • despite successful re-load of original firmware, bootloader refuses to find image on flash
  • possible solutions are loading fresh VxWorks from network or reloading flash through EJTAG port

loading XINU

Control-C interrupts VxWorks loader, as it does in CFE. VxWorks has an advantage over CFE in that it will remember bootloader settings for tftp host after powercycle. This removes the need for special xinu-console script to talk to CFE. Just run xinu-console, download compiled boot image, and powercycle.

Settings for VxWorks bootloader:

  • boot device: vl0
  • host name: morbius
  • file name: {backend name}.boot
  • inet on ethernet: 192.168.6.{assigned by morbius}
  • host inet: 192.168.6.10
  • flags 0x88 --tftp and quickboot

Changes to current XINU revision for 'G' compatibility: +

  • loader/start.S
    • change max physical address from 0x81000000 to 0x80800000 (cut in half)
    • removal of cfe_api.c from loader, remove references in start.S $
    • replaced CFE cache flushing with fresh cache initialization function
    • altered mips.h for macros in loader cache init function
  • system/xdone.c - remove CFE_exit(), add new halt() function
  • uart/uartInit.c
    • remove ucptr->uart_dll = 0x0B;
    • remove ucptr->uart_dlm = 0x00;
    • If one queries the hardware, values to replace 0B and 00 can be identified, 0E and 00


+ Loader now reads CPU revision number from CP0 PRId register. This automatically sets max physical address and UART baud rate divisor based on router model.

The CFE cache initialization has been replaced in XINU v1.0 for WRT54G compatibility.

See also