Difference between revisions of "Flameman/routerstation-pro"

From eLinux.org
Jump to: navigation, search
(tested board)
(mini pci)
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
For more interesting projects done by Flameman&Legacy, be sure to check out his [[Flameman#master_index|project index]]
+
For more interesting projects done by Flameman&Legacy, be sure to check out their [[Flameman#master_index|project index]]
  
  
Line 188: Line 188:
  
  
(1) currently: dunno if it is possible, it may be an hardware limitation, i have to investigate about this, i mean having the data sheet doesn't help since reading/writing to IO space is already possible, but it isn't exposed.
+
(1) currently The PCI controller in ar71xx SoCs only provides access to PCI memory space and PCI configuration space, but not to PCI IO space, it is an hardware limitation of  ar71xx SoC, missing hardware able to handle PCI IO space, hardware hack is required with special handling for IO space accesses. Which, in case it is enough to fix the problem, nobody hasn't done yet, and it seems impossible to be fixed.
the problem is that the PCI IO space can't be mapped directly into the normal address space, so it may be you need to write special handling for IO space accesses. Which, in case it is enough to fix the problem, nobody hasn't done yet.
 
  
 
see http://en.wikipedia.org/wiki/Conventional_PCI#PCI_command_codes
 
see http://en.wikipedia.org/wiki/Conventional_PCI#PCI_command_codes
Line 207: Line 206:
 
* wont work: any mini pci card that needs PCI IO space
 
* wont work: any mini pci card that needs PCI IO space
 
* will work: any mini pci card that ONLY needs PCI mem space
 
* will work: any mini pci card that ONLY needs PCI mem space
 +
 +
==== may be working board ====
 +
 +
* Sokeris VPN1411 encryption miniPCI card seems to be PCI_MEM_ONLY, it performs as crypto-hw-hifn-795x for OpenSSL VPN & IPSec hw acceleration
  
 
==== tested board ====
 
==== tested board ====
  
* ...
 
 
* wifi tp-link, which is atheros-wifi, it uses pci_mem only
 
* wifi tp-link, which is atheros-wifi, it uses pci_mem only
  
==== dmesg 2.6.39.my ====
+
==== dmesg ====
 
 
dmesg-vanilla-2.6.39+hack
 
 
 
<pre>
 
sion is: 00019374 (MIPS 24Kc)
 
SoC: Atheros AR7161 rev 2
 
Clocks: CPU:720.000MHz, DDR:360.000MHz, AHB:180.000MHz, Ref:40.000MHz
 
Determined physical RAM map:
 
memory: 08000000 @ 00000000 (usable)
 
Zone PFN ranges:
 
  Normal  0x00000000 -> 0x00008000
 
Movable zone start PFN for each node
 
early_node_map[1] active PFN ranges
 
    0: 0x00000000 -> 0x00008000
 
On node 0 totalpages: 32768
 
free_area_init_node: node 0, pgdat 8058f5e0, node_mem_map 81000000
 
  Normal zone: 256 pages used for memmap
 
  Normal zone: 0 pages reserved
 
  Normal zone: 32512 pages, LIFO batch:7
 
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
 
pcpu-alloc: [0] 0
 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
 
Kernel command line: root=/dev/sdb4 console=ttyS0,115200 init=/bin/bash rootdelay=2 fbcon=font:VGA8x16,scrollback:32k,map:0,rotate:0 board=UBNT-RSPRO
 
PID hash table entries: 512 (order: -1, 2048 bytes)
 
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
 
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
 
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
 
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
 
Writing ErrCtl register=00002002
 
Readback ErrCtl register=00002002
 
Memory: 123904k/131072k available (3816k kernel code, 7168k reserved, 1498k data, 176k init, 0k highmem)
 
SLUB: Genslabs=9, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
 
NR_IRQS:80
 
fbdummycon: startup
 
fbdummycon: init
 
dummyfb: 60x25 vc_can_do_color=1
 
Console: colour fbdummy 60x25
 
Calibrating delay loop... 479.23 BogoMIPS (lpj=2396160)
 
pid_max: default: 32768 minimum: 301
 
Mount-cache hash table entries: 512
 
devtmpfs: initialized
 
NET: Registered protocol family 16
 
this MIPS machine is my Ubiquiti RouterStation Pro
 
registering PCI controller with io_map_base unset
 
ar71xx: using random MAC address for eth0
 
bio: create slab <bio-0> at 0
 
SCSI subsystem initialized
 
usbcore: registered new interface driver usbfs
 
usbcore: registered new interface driver hub
 
usbcore: registered new device driver usb
 
pci 0000:00:00.0: [0700:1107] type 0 class 0x000000
 
pci 0000:00:00.0: reg 10: [mem 0x00000000-0x0fffffff pref]
 
pci 0000:00:00.0: reg 14: [io  0x0000-0x00ff]
 
pci 0000:00:00.0: supports D1 D2
 
pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
 
pci 0000:00:00.0: PME# disabled
 
pci 0000:00:12.0: [168c:0029] type 0 class 0x000280
 
pci 0000:00:12.0: reg 10: [mem 0x00000000-0x0000ffff]
 
pci 0000:00:12.0: PME# supported from D0 D3hot
 
pci 0000:00:12.0: PME# disabled
 
pci 0000:00:12.0: BAR 0: assigned [mem 0x10000000-0x1000ffff]
 
pci 0000:00:12.0: BAR 0: set to [mem 0x10000000-0x1000ffff] (PCI address [0x10000000-0x1000ffff])
 
PCI: mapping irq 73 to pin1@0000:00:12.0
 
cfg80211: Calling CRDA to update world regulatory domain
 
Switching to clocksource MIPS
 
FS-Cache: Loaded
 
CacheFiles: Loaded
 
Switched to NOHz mode on CPU #0
 
NET: Registered protocol family 2
 
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
 
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
 
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
 
TCP: Hash tables configured (established 4096 bind 4096)
 
TCP reno registered
 
UDP hash table entries: 256 (order: 0, 4096 bytes)
 
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
 
NET: Registered protocol family 1
 
PCI: CLS 0 bytes, default 32
 
msgmni has been set to 242
 
io scheduler noop registered
 
io scheduler deadline registered (default)
 
Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
 
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
 
console [ttyS0] enabled
 
loop: module loaded
 
lkdtm: No crash points registered, enable through debugfs
 
Atheros AR71xx SPI Controller driver version 0.2.4
 
ag71xx_mdio: probed
 
eth0: Atheros AG71xx at 0xb9000000, irq 4
 
eth0: connected to PHY at ag71xx-mdio:04 [uid=004dd041, driver=Atheros AR8216/AR8316]
 
eth1: Atheros AG71xx at 0xba000000, irq 5
 
eth1: AR8316 switch driver attached.
 
ar8316: Using port 4 as PHY
 
eth1: connected to PHY at ag71xx-mdio:00 [uid=004dd041, driver=Atheros AR8216/AR8316]
 
PCI: Enabling device 0000:00:12.0 (0000 -> 0002)
 
ath: EEPROM regdomain: 0x809c
 
ath: EEPROM indicates we should expect a country code
 
ath: doing EEPROM country->regdmn map search
 
ath: country maps to regdmn code: 0x52
 
ath: Country alpha2 being used: CN
 
ath: Regpair used: 0x52
 
cfg80211: Updating information on frequency 2412 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2417 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2422 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2427 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2432 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2437 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2442 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2447 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2452 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2457 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2462 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (N/A mBi, 2000 mBm)
 
cfg80211: Disabling freq 2467 MHz as custom regd has no rule that fits a 20 MHz wide channel
 
cfg80211: Disabling freq 2472 MHz as custom regd has no rule that fits a 20 MHz wide channel
 
cfg80211: Disabling freq 2484 MHz as custom regd has no rule that fits a 20 MHz wide channel
 
cfg80211: Updating information on frequency 2412 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2417 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2422 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2427 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2432 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2437 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2442 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2447 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2452 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2457 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2462 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2402000 KHz - 2472000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2467 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2457000 KHz - 2482000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2472 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2457000 KHz - 2482000 KHz @  KHz), (600 mBi, 2000 mBm)
 
cfg80211: Updating information on frequency 2484 MHz for a 20 MHz width channel with regulatory rule:
 
cfg80211: 2474000 KHz - 2494000 KHz @  KHz), (600 mBi, 2000 mBm)
 
ieee80211 phy0: Selected rate control algorithm 'ath9k_rate_control'
 
cfg80211: Pending regulatory request, waiting for it to be processed...
 
Registered led device: ath9k-phy0
 
ieee80211 phy0: Atheros AR9280 Rev:2 mem=0xb0000000, irq=73
 
usbcore: registered new interface driver ath9k_htc
 
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
 
ar71xx-ohci ar71xx-ohci: Atheros AR71xx built-in OHCI controller
 
ar71xx-ohci ar71xx-ohci: new USB bus registered, assigned bus number 1
 
ar71xx-ohci ar71xx-ohci: irq 14, io mem 0x1c000000
 
usb usb1: New USB device found, idVendor=1d6b, idProduct=0001
 
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
 
usb usb1: Product: Atheros AR71xx built-in OHCI controller
 
usb usb1: Manufacturer: Linux 2.6.39-flesh-eating-bats-ubiquiti ohci_hcd
 
usb usb1: SerialNumber: ar71xx-ohci
 
hub 1-0:1.0: USB hub found
 
hub 1-0:1.0: 2 ports detected
 
usbcore: registered new interface driver wusb-cbaf
 
usbcore: registered new interface driver uas
 
Initializing USB Mass Storage driver...
 
usbcore: registered new interface driver usb-storage
 
USB Mass Storage support registered.
 
usbcore: registered new interface driver usbserial
 
USB Serial support registered for generic
 
usbcore: registered new interface driver usbserial_generic
 
usbserial: USB Serial Driver core
 
rtc-pcf2123 spi0.1: chip found, driver version 0.6
 
rtc-pcf2123 spi0.1: spiclk 1000 KHz.
 
rtc-pcf2123 spi0.1: rtc core: registered rtc-pcf2123 as rtc0
 
Atheros AR71xx hardware watchdog driver version 0.1.0
 
ar71xx-wdt: timeout=15 secs (max=23)
 
TCP westwood registered
 
NET: Registered protocol family 17
 
net: 802.1Q VLAN Support v1.8
 
lib80211: common routines for IEEE802.11 drivers
 
lib80211_crypt: registered algorithm 'NULL'
 
lib80211_crypt: registered algorithm 'WEP'
 
lib80211_crypt: registered algorithm 'CCMP'
 
lib80211_crypt: registered algorithm 'TKIP'
 
rtc-pcf2123 spi0.1: setting system clock to 1980-03-23 09:27:57 UTC (322651677)
 
Waiting 2sec before mounting root device...
 
usb 1-1: new full speed USB device number 2 using ar71xx-ohci
 
usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
 
usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
 
usb 1-1: Product: USB2.0 Hub
 
hub 1-1:1.0: USB hub found
 
hub 1-1:1.0: 4 ports detected
 
usb 1-2: new full speed USB device number 3 using ar71xx-ohci
 
usb 1-2: New USB device found, idVendor=05e3, idProduct=0723
 
usb 1-2: New USB device strings: Mfr=3, Product=4, SerialNumber=2
 
usb 1-2: Product: USB Storage
 
usb 1-2: Manufacturer: Generic
 
usb 1-2: SerialNumber: 000000009454
 
scsi0 : usb-storage 1-2:1.0
 
usb 1-1.2: new full speed USB device number 4 using ar71xx-ohci
 
usb 1-1.2: New USB device found, idVendor=07ff, idProduct=00ff
 
usb 1-1.2: New USB device strings: Mfr=10, Product=11, SerialNumber=5
 
usb 1-1.2: Product: USB20
 
usb 1-1.2: Manufacturer: USBID
 
usb 1-1.2: SerialNumber: 5DB072272222
 
scsi1 : usb-storage 1-1.2:1.0
 
usb 1-1.4: new full speed USB device number 5 using ar71xx-ohci
 
usb 1-1.4: New USB device found, idVendor=0011, idProduct=7788
 
usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
 
usb 1-1.4: Product: Mass Storage
 
usb 1-1.4: Manufacturer: Generic
 
usb 1-1.4: SerialNumber: 0BB7F18A
 
scsi2 : usb-storage 1-1.4:1.0
 
scsi 0:0:0:0: Direct-Access    Generic  STORAGE DEVICE  9454 PQ: 0 ANSI: 0
 
sd 0:0:0:0: [sda] 15523840 512-byte logical blocks: (7.94 GB/7.40 GiB)
 
sd 0:0:0:0: [sda] Write Protect is off
 
sd 0:0:0:0: [sda] Mode Sense: 03 00 00 00
 
sd 0:0:0:0: [sda] Assuming drive cache: write through
 
sd 0:0:0:0: [sda] Assuming drive cache: write through
 
sda: sda1 sda2 sda3
 
scsi 1:0:0:0: Direct-Access    ST310211 A                    PQ: 0 ANSI: 2 CCS
 
sd 1:0:0:0: [sdb] 19746720 512-byte logical blocks: (10.1 GB/9.41 GiB)
 
sd 1:0:0:0: [sdb] Write Protect is off
 
sd 1:0:0:0: [sdb] Mode Sense: 00 38 00 00
 
sd 1:0:0:0: [sdb] Assuming drive cache: write through
 
sd 0:0:0:0: [sda] Assuming drive cache: write through
 
sd 0:0:0:0: [sda] Attached SCSI removable disk
 
sd 1:0:0:0: [sdb] Assuming drive cache: write through
 
sdb: [mac] sdb1 sdb2 sdb3 sdb4
 
sd 1:0:0:0: [sdb] Assuming drive cache: write through
 
sd 1:0:0:0: [sdb] Attached SCSI disk
 
EXT3-fs (sdb4): recovery required on readonly filesystem
 
EXT3-fs (sdb4): write access will be enabled during recovery
 
EXT3-fs: barriers not enabled
 
scsi 2:0:0:0: Direct-Access    Generic  Flash Disk      8.00 PQ: 0 ANSI: 2
 
sd 2:0:0:0: [sdc] 8192000 512-byte logical blocks: (4.19 GB/3.90 GiB)
 
sd 2:0:0:0: [sdc] Write Protect is off
 
sd 2:0:0:0: [sdc] Mode Sense: 03 00 00 00
 
sd 2:0:0:0: [sdc] Assuming drive cache: write through
 
sd 2:0:0:0: [sdc] Assuming drive cache: write through
 
sdc: [mac] sdc1 sdc2
 
sd 2:0:0:0: [sdc] Assuming drive cache: write through
 
sd 2:0:0:0: [sdc] Attached SCSI removable disk
 
EXT3-fs (sdb4): recovery complete
 
kjournald starting.  Commit interval 5 seconds
 
EXT3-fs (sdb4): mounted filesystem with writeback data mode
 
VFS: Mounted root (ext3 filesystem) readonly on device 8:20.
 
devtmpfs: mounted
 
Freeing unused kernel memory: 176k freed
 
FPU: CPU has no floating point unit
 
FPU: IEEE754 floating MIPS floating point support provided as kernel float emulation
 
FPU: you'll get much better performance by compiling with -msoft-float!
 
EXT3-fs (sdb4): using internal journal
 
Adding 524284k swap on /dev/sdb3.  Priority:-1 extents:1 across:524284k
 
ar71xx: pll_reg 0xb8050010: 0x1099
 
eth0: link up (100Mbps/Full duplex)
 
usb 1-1.3: new full speed USB device number 6 using ar71xx-ohci
 
usb 1-1.3: New USB device found, idVendor=059f, idProduct=1053
 
usb 1-1.3: New USB device strings: Mfr=2, Product=3, SerialNumber=1
 
usb 1-1.3: Product: P'9230 Desktop Drive
 
usb 1-1.3: Manufacturer: LaCie
 
usb 1-1.3: SerialNumber: 00000000d4ca9f79203e
 
scsi3 : usb-storage 1-1.3:1.0
 
scsi 3:0:0:0: Direct-Access    ST2000DL 001-9VT156      CC41 PQ: 0 ANSI: 5
 
sd 3:0:0:0: [sdd] 3907029168 512-byte logical blocks: (2.00 TB/1.81 TiB)
 
sd 3:0:0:0: [sdd] Write Protect is off
 
sd 3:0:0:0: [sdd] Mode Sense: 23 00 00 00
 
sd 3:0:0:0: [sdd] Assuming drive cache: write through
 
sd 3:0:0:0: [sdd] Assuming drive cache: write through
 
sdd: [mac] sdd1 sdd2 sdd3 sdd4 sdd5 sdd6
 
sd 3:0:0:0: [sdd] Assuming drive cache: write through
 
sd 3:0:0:0: [sdd] Attached SCSI disk
 
EXT3-fs: barriers not enabled
 
EXT3-fs (sdd4): warning: checktime reached, running e2fsck is recommended
 
kjournald starting.  Commit interval 5 seconds
 
EXT3-fs (sdd4): using internal journal
 
EXT3-fs (sdd4): recovery complete
 
EXT3-fs (sdd4): mounted filesystem with writeback data mode
 
EXT3-fs (sdb4): using internal journal
 
EXT3-fs: barriers not enabled
 
EXT3-fs (sdd4): warning: checktime reached, running e2fsck is recommended
 
kjournald starting.  Commit interval 5 seconds
 
EXT3-fs (sdd4): using internal journal
 
EXT3-fs (sdd4): mounted filesystem with writeback data mode
 
 
 
Launching bash as the first Process ...
 
  
mips32-routerboard-pro / #  
+
* [[Flameman/routerstation-pro/dmesg#2.6.37.my]]
</pre>
 
  
 
==== currently not working mini pci board ====
 
==== currently not working mini pci board ====
Line 525: Line 232:
 
So the conclusion is: if you don't need high transfer data rate use serial or parallel port, or USB bus.
 
So the conclusion is: if you don't need high transfer data rate use serial or parallel port, or USB bus.
  
== doc ==
+
== mini pci ==
 
 
http://wiki.openwrt.org/toh/ubiquiti/routerstation.pro
 
 
 
http://www.ubnt.com/forum/
 
 
 
 
 
=== redboot manual ===
 
  
http://ecos.sourceware.org/docs-latest/redboot/redboot-guide.html
+
<h2> <span class="mw-headline" id="Types"> Types </span></h2>
 +
<table border="1" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%; color: #000;">
 +
<tr>
 +
<th> Type </th>
 +
<th> Pins
 +
</th></tr>
 +
<tr>
 +
<td> I    </td>
 +
<td> 100
 +
</td></tr>
 +
<tr>
 +
<td> II  </td>
 +
<td> 100
 +
</td></tr>
 +
<tr>
 +
<td> III  </td>
 +
<td> 124
 +
</td></tr></table>
 +
<h2> <span class="mw-headline" id="Type_I.2FII.2C_100_pin"> Type I/II, 100 pin </span></h2>
 +
<table border="1" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%; color: #000;">
 +
<tr>
 +
<th> Pin  </th>
 +
<th> Name
 +
</th></tr>
 +
<tr>
 +
<td> 1    </td>
 +
<td> INTB#
 +
</td></tr>
 +
<tr>
 +
<td> 2    </td>
 +
<td> +5v
 +
</td></tr>
 +
<tr>
 +
<td> 3    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 4    </td>
 +
<td> INTA#
 +
</td></tr>
 +
<tr>
 +
<td> 5    </td>
 +
<td> Reserved
 +
</td></tr>
 +
<tr>
 +
<td> 6    </td>
 +
<td> Reserved
 +
</td></tr>
 +
<tr>
 +
<td> 7    </td>
 +
<td> 3.3AUX
 +
</td></tr>
 +
<tr>
 +
<td> 8    </td>
 +
<td> C/BE[1]#
 +
</td></tr>
 +
<tr>
 +
<td> 9    </td>
 +
<td> CLK
 +
</td></tr>
 +
<tr>
 +
<td> 10    </td>
 +
<td> RST#
 +
</td></tr>
 +
<tr>
 +
<td> 11    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 12    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 13    </td>
 +
<td> REQ#
 +
</td></tr>
 +
<tr>
 +
<td> 14    </td>
 +
<td> GNT#
 +
</td></tr>
 +
<tr>
 +
<td> 15    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 16    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 17    </td>
 +
<td> AD[31]
 +
</td></tr>
 +
<tr>
 +
<td> 18    </td>
 +
<td> PME#
 +
</td></tr>
 +
<tr>
 +
<td> 19    </td>
 +
<td> AD[29]
 +
</td></tr>
 +
<tr>
 +
<td> 20    </td>
 +
<td> Reserved
 +
</td></tr>
 +
<tr>
 +
<td> 21    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 22    </td>
 +
<td> AD[30]
 +
</td></tr>
 +
<tr>
 +
<td> 23    </td>
 +
<td> AD[27]
 +
</td></tr>
 +
<tr>
 +
<td> 24    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 25    </td>
 +
<td> AD[25]
 +
</td></tr>
 +
<tr>
 +
<td> 26    </td>
 +
<td> AD[28]
 +
</td></tr>
 +
<tr>
 +
<td> 27    </td>
 +
<td> Reserved
 +
</td></tr>
 +
<tr>
 +
<td> 28    </td>
 +
<td> AD[28]
 +
</td></tr>
 +
<tr>
 +
<td> 29    </td>
 +
<td> C/BE[3]#
 +
</td></tr>
 +
<tr>
 +
<td> 30    </td>
 +
<td> AD[24]
 +
</td></tr>
 +
<tr>
 +
<td> 31    </td>
 +
<td> AD[23]
 +
</td></tr>
 +
<tr>
 +
<td> 32    </td>
 +
<td> IDSEL
 +
</td></tr>
 +
<tr>
 +
<td> 33    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 34    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 35    </td>
 +
<td> AD[21]
 +
</td></tr>
 +
<tr>
 +
<td> 36    </td>
 +
<td> AD[22]
 +
</td></tr>
 +
<tr>
 +
<td> 37    </td>
 +
<td> AD[19]
 +
</td></tr>
 +
<tr>
 +
<td> 38    </td>
 +
<td> AD[20]
 +
</td></tr>
 +
<tr>
 +
<td> 39    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 40    </td>
 +
<td> PAR
 +
</td></tr>
 +
<tr>
 +
<td> 41    </td>
 +
<td> AD[17]
 +
</td></tr>
 +
<tr>
 +
<td> 42    </td>
 +
<td> AD[18]
 +
</td></tr>
 +
<tr>
 +
<td> 43    </td>
 +
<td> C/BE[2]#
 +
</td></tr>
 +
<tr>
 +
<td> 44    </td>
 +
<td> AD[16]
 +
</td></tr>
 +
<tr>
 +
<td> 45    </td>
 +
<td> IRDY#
 +
</td></tr>
 +
<tr>
 +
<td> 46    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 47    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 48    </td>
 +
<td> Frame#
 +
</td></tr>
 +
<tr>
 +
<td> 49    </td>
 +
<td> CLKRUN#
 +
</td></tr>
 +
<tr>
 +
<td> 50    </td>
 +
<td> TRDY#
 +
</td></tr>
 +
<tr>
 +
<td> 51    </td>
 +
<td> SERR#
 +
</td></tr>
 +
<tr>
 +
<td> 52    </td>
 +
<td> STOP#
 +
</td></tr>
 +
<tr>
 +
<td> 53    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 54    </td>
 +
<td> +3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 55    </td>
 +
<td> PERR#
 +
</td></tr>
 +
<tr>
 +
<td> 56    </td>
 +
<td> DEVSEL#
 +
</td></tr>
 +
<tr>
 +
<td> 57    </td>
 +
<td> C/BE[1]#
 +
</td></tr>
 +
<tr>
 +
<td> 58    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 59    </td>
 +
<td> AD[14]
 +
</td></tr>
 +
<tr>
 +
<td> 60    </td>
 +
<td> AD[15]
 +
</td></tr>
 +
<tr>
 +
<td> 61    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 62    </td>
 +
<td> AD[13]
 +
</td></tr>
 +
<tr>
 +
<td> 63    </td>
 +
<td> AD[12]
 +
</td></tr>
 +
<tr>
 +
<td> 64    </td>
 +
<td> AD[11]
 +
</td></tr>
 +
<tr>
 +
<td> 65    </td>
 +
<td> AD[10]
 +
</td></tr>
 +
<tr>
 +
<td> 66    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 67    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 68    </td>
 +
<td> AD[09]
 +
</td></tr>
 +
<tr>
 +
<td> 69    </td>
 +
<td> AD[08]
 +
</td></tr>
 +
<tr>
 +
<td> 70    </td>
 +
<td> C/BE[0]#
 +
</td></tr>
 +
<tr>
 +
<td> 71    </td>
 +
<td> AD[07]
 +
</td></tr>
 +
<tr>
 +
<td> 72    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 73    </td>
 +
<td> 3.3v
 +
</td></tr>
 +
<tr>
 +
<td> 74    </td>
 +
<td> AD[06]
 +
</td></tr>
 +
<tr>
 +
<td> 75    </td>
 +
<td> AD[05]
 +
</td></tr>
 +
<tr>
 +
<td> 76    </td>
 +
<td> AD[04]
 +
</td></tr>
 +
<tr>
 +
<td> 77    </td>
 +
<td> Reserved
 +
</td></tr>
 +
<tr>
 +
<td> 78    </td>
 +
<td> AD[02]
 +
</td></tr>
 +
<tr>
 +
<td> 79    </td>
 +
<td> AD[03]
 +
</td></tr>
 +
<tr>
 +
<td> 80    </td>
 +
<td> AD[00]
 +
</td></tr>
 +
<tr>
 +
<td> 81    </td>
 +
<td> 5v
 +
</td></tr>
 +
<tr>
 +
<td> 82    </td>
 +
<td> Reserved_WIP <sup>1</sup>
 +
</td></tr>
 +
<tr>
 +
<td> 83    </td>
 +
<td> AD[01]
 +
</td></tr>
 +
<tr>
 +
<td> 84    </td>
 +
<td> Reserved_WIP <sup>1</sup>
 +
</td></tr>
 +
<tr>
 +
<td> 85    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 86    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 87    </td>
 +
<td> AC_SYNC
 +
</td></tr>
 +
<tr>
 +
<td> 88    </td>
 +
<td> M66EN
 +
</td></tr>
 +
<tr>
 +
<td> 89    </td>
 +
<td> AC_SDATA_IN
 +
</td></tr>
 +
<tr>
 +
<td> 90    </td>
 +
<td> AC_SDATA_OUT
 +
</td></tr>
 +
<tr>
 +
<td> 91    </td>
 +
<td> AC_BIT_CLK
 +
</td></tr>
 +
<tr>
 +
<td> 92    </td>
 +
<td> AC_CODEC_ID0#
 +
</td></tr>
 +
<tr>
 +
<td> 93    </td>
 +
<td> AC_CODEC_ID1#
 +
</td></tr>
 +
<tr>
 +
<td> 94    </td>
 +
<td> AC_RESET#
 +
</td></tr>
 +
<tr>
 +
<td> 95    </td>
 +
<td> MOD_AUDIO_MON
 +
</td></tr>
 +
<tr>
 +
<td> 96    </td>
 +
<td> Reserved
 +
</td></tr>
 +
<tr>
 +
<td> 97    </td>
 +
<td> Audio_GND
 +
</td></tr>
 +
<tr>
 +
<td> 98    </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 99    </td>
 +
<td> SYS_AUDIO_OUT
 +
</td></tr>
 +
<tr>
 +
<td> 100  </td>
 +
<td> SYS_AUDIO_IN
 +
</td></tr></table>
 +
<p><sup>1)</sup> WIP=Work in progress
 +
</p>
 +
<h2> <span class="mw-headline" id="Type_III.2C_124_pin"> Type III, 124 pin </span></h2>
 +
<table border="1" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; font-size: 95%; color: #000;">
 +
<tr>
 +
<th> Pin  </th>
 +
<th> Name  </th>
 +
<th> Description
 +
</th></tr>
 +
<tr>
 +
<td> 1  </td>
 +
<td> TIP              </td>
 +
<td> 1 Conductor, local loop wire pair
 +
</td></tr>
 +
<tr>
 +
<td> 2  </td>
 +
<td> RING              </td>
 +
<td> 1 Conductor, local loop wire pair
 +
</td></tr>
 +
<tr>
 +
<td> 3  </td>
 +
<td> 8PMJ-3            </td>
 +
<td> Pin 3 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 4  </td>
 +
<td> 8PMJ-1            </td>
 +
<td> Pin 1 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 5  </td>
 +
<td> 8PMJ-6            </td>
 +
<td> Pin 6 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 6  </td>
 +
<td> 8PMJ-2            </td>
 +
<td> Pin 2 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 7  </td>
 +
<td> 8PMJ-7            </td>
 +
<td> Pin 7 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 8  </td>
 +
<td> 8PMJ-4            </td>
 +
<td> Pin 4 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 9  </td>
 +
<td> 8PMJ-8            </td>
 +
<td> Pin 8 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 10  </td>
 +
<td> 8PMJ-5            </td>
 +
<td> Pin 5 of an 8-pin modular jack
 +
</td></tr>
 +
<tr>
 +
<td> 11  </td>
 +
<td> LED1_GRNP        </td>
 +
<td> Interface for external LEDs
 +
</td></tr>
 +
<tr>
 +
<td> 12  </td>
 +
<td> LED2_YELP        </td>
 +
<td> Interface for external LEDs
 +
</td></tr>
 +
<tr>
 +
<td> 13  </td>
 +
<td> LED1_GRNN        </td>
 +
<td> RF Silent input
 +
</td></tr>
 +
<tr>
 +
<td> 14  </td>
 +
<td> LED2_YELN        </td>
 +
<td> Interface for external LEDs
 +
</td></tr>
 +
<tr>
 +
<td> 15  </td>
 +
<td> CHSGND            </td>
 +
<td> Chassis Ground
 +
</td></tr>
 +
<tr>
 +
<td> 16  </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 17  </td>
 +
<td> INTB#            </td>
 +
<td> Interrupt Request B
 +
</td></tr>
 +
<tr>
 +
<td> 18  </td>
 +
<td> 5V                </td>
 +
<td> 5 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 19  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 20  </td>
 +
<td> INTA#            </td>
 +
<td> Interrupt Request A
 +
</td></tr>
 +
<tr>
 +
<td> 21  </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 22  </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 23  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 24  </td>
 +
<td> 3.3VAUX          </td>
 +
<td> 3.3 V supply-uninterrupted
 +
</td></tr>
 +
<tr>
 +
<td> 25  </td>
 +
<td> CLK              </td>
 +
<td> PCI Clock
 +
</td></tr>
 +
<tr>
 +
<td> 26  </td>
 +
<td> RST#              </td>
 +
<td> PCI Reset
 +
</td></tr>
 +
<tr>
 +
<td> 27  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 28  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 29  </td>
 +
<td> REQ#              </td>
 +
<td> PCI Bus Request
 +
</td></tr>
 +
<tr>
 +
<td> 30  </td>
 +
<td> GNT#              </td>
 +
<td> PCI Bus Grant
 +
</td></tr>
 +
<tr>
 +
<td> 31  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 32  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 33  </td>
 +
<td> AD[31]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 34  </td>
 +
<td> PME#              </td>
 +
<td> Power Management Event
 +
</td></tr>
 +
<tr>
 +
<td> 35  </td>
 +
<td> AD[29]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 36  </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 37  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 38  </td>
 +
<td> AD[30]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 39  </td>
 +
<td> AD[27]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 40  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 41  </td>
 +
<td> AD[25]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 42  </td>
 +
<td> AD[28]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 43  </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 44  </td>
 +
<td> AD[26]            </td>
 +
<td> Multiplexed
 +
</td></tr>
 +
<tr>
 +
<td> -  </td>
 +
<td> Key              </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> -  </td>
 +
<td> -                </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 45  </td>
 +
<td> C/BE[3]#          </td>
 +
<td> Byte Enable
 +
</td></tr>
 +
<tr>
 +
<td> 46  </td>
 +
<td> AD[24]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 47  </td>
 +
<td> AD[23]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 48  </td>
 +
<td> IDSEL            </td>
 +
<td> Initialization Device Select
 +
</td></tr>
 +
<tr>
 +
<td> 49  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 50  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 51  </td>
 +
<td> AD[21]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 52  </td>
 +
<td> AD[22]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 53  </td>
 +
<td> AD[19]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 54  </td>
 +
<td> AD[20]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 55  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 56  </td>
 +
<td> PAR              </td>
 +
<td> Parity Bit
 +
</td></tr>
 +
<tr>
 +
<td> 57  </td>
 +
<td> AD[17]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 58  </td>
 +
<td> AD[18]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 59  </td>
 +
<td> C/BE[2]#          </td>
 +
<td> Byte Enable
 +
</td></tr>
 +
<tr>
 +
<td> 60  </td>
 +
<td> AD[16]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 61  </td>
 +
<td> IRDY#            </td>
 +
<td> Initiator Ready
 +
</td></tr>
 +
<tr>
 +
<td> 62  </td>
 +
<td> Ground            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 63  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 64  </td>
 +
<td> FRAME#            </td>
 +
<td> Indicates Bulk Transfer
 +
</td></tr>
 +
<tr>
 +
<td> 65  </td>
 +
<td> CLKRUN#          </td>
 +
<td> Stops clock on certain mobile PCI devices
 +
</td></tr>
 +
<tr>
 +
<td> 66  </td>
 +
<td> TRDY#            </td>
 +
<td> Target Ready
 +
</td></tr>
 +
<tr>
 +
<td> 67  </td>
 +
<td> SERR#            </td>
 +
<td> Catastrophic system error
 +
</td></tr>
 +
<tr>
 +
<td> 68  </td>
 +
<td> STOP#            </td>
 +
<td> Target wishes to end transfer
 +
</td></tr>
 +
<tr>
 +
<td> 69  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 70  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 71  </td>
 +
<td> PERR#            </td>
 +
<td> Indicates Parity Error
 +
</td></tr>
 +
<tr>
 +
<td> 72  </td>
 +
<td> DEVSEL#          </td>
 +
<td> PCI Device Select
 +
</td></tr>
 +
<tr>
 +
<td> 73  </td>
 +
<td> C/BE[1]#          </td>
 +
<td> Byte Enable
 +
</td></tr>
 +
<tr>
 +
<td> 74  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 75  </td>
 +
<td> AD[14]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 76  </td>
 +
<td> AD[15]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 77  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 78  </td>
 +
<td> AD[13]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 79  </td>
 +
<td> AD[12]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 80  </td>
 +
<td> AD[11]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 81  </td>
 +
<td> AD[10]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 82  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 83  </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 84  </td>
 +
<td> AD[09]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 85  </td>
 +
<td> AD[08]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 86  </td>
 +
<td> C/BE[0]#          </td>
 +
<td> Byte Enable
 +
</td></tr>
 +
<tr>
 +
<td> 87  </td>
 +
<td> AD[07]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 88  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 89  </td>
 +
<td> 3.3V              </td>
 +
<td> 3.3 V Supply
 +
</td></tr>
 +
<tr>
 +
<td> 90  </td>
 +
<td> AD[06]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 91  </td>
 +
<td> AD[05]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 92  </td>
 +
<td> AD[04]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 93  </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 94  </td>
 +
<td> AD[02]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 95  </td>
 +
<td> AD[03]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 96  </td>
 +
<td> AD[00]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 97  </td>
 +
<td> 5V                </td>
 +
<td> 5 V Supply voltage
 +
</td></tr>
 +
<tr>
 +
<td> 98  </td>
 +
<td> RESERVED_WIP5    </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 99  </td>
 +
<td> AD[01]            </td>
 +
<td> Multiplexed Address/Data Bus
 +
</td></tr>
 +
<tr>
 +
<td> 100 </td>
 +
<td> RESERVED_WIP5    </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 101 </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 102 </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 103 </td>
 +
<td> AC_SYNC          </td>
 +
<td> AC97 Sync
 +
</td></tr>
 +
<tr>
 +
<td> 104 </td>
 +
<td> M66EN            </td>
 +
<td> Enables 66 MHz PCI bus
 +
</td></tr>
 +
<tr>
 +
<td> 105 </td>
 +
<td> AC_SDATA_IN      </td>
 +
<td> AC97 Data Input
 +
</td></tr>
 +
<tr>
 +
<td> 106 </td>
 +
<td> AC_SDATA_OUT      </td>
 +
<td> AC97 Data Output
 +
</td></tr>
 +
<tr>
 +
<td> 107 </td>
 +
<td> AC_BIT_CLK        </td>
 +
<td> AC97 Bit Clock
 +
</td></tr>
 +
<tr>
 +
<td> 108 </td>
 +
<td> AC_CODEC_ID0#    </td>
 +
<td> Identifier for AC97 CODEC
 +
</td></tr>
 +
<tr>
 +
<td> 109 </td>
 +
<td> AC_CODEC_ID1#    </td>
 +
<td> Identifier for AC97 CODEC
 +
</td></tr>
 +
<tr>
 +
<td> 110 </td>
 +
<td> AC_RESET#        </td>
 +
<td> AC97 Reset
 +
</td></tr>
 +
<tr>
 +
<td> 111 </td>
 +
<td> MOD_AUDIO_MON    </td>
 +
<td> Modern Audio Monitor
 +
</td></tr>
 +
<tr>
 +
<td> 112 </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 113 </td>
 +
<td> AUDIO_GND        </td>
 +
<td> Analog Ground for line-level audio
 +
</td></tr>
 +
<tr>
 +
<td> 114 </td>
 +
<td> GROUND            </td>
 +
<td> Ground
 +
</td></tr>
 +
<tr>
 +
<td> 115 </td>
 +
<td> SYS_AUDIO_OUT    </td>
 +
<td> Telephone Audio Out
 +
</td></tr>
 +
<tr>
 +
<td> 116 </td>
 +
<td> SYS_AUDIO_IN      </td>
 +
<td> Telephone Audio In
 +
</td></tr>
 +
<tr>
 +
<td> 117 </td>
 +
<td> SYS_AUDIO_OUT GND </td>
 +
<td> Analog Ground for telephone audio
 +
</td></tr>
 +
<tr>
 +
<td> 118 </td>
 +
<td> SYS_AUDIO_IN GND  </td>
 +
<td> Analog Ground for telephone audio
 +
</td></tr>
 +
<tr>
 +
<td> 119 </td>
 +
<td> AUDIO_GND        </td>
 +
<td> Analog Ground for line-level audio
 +
</td></tr>
 +
<tr>
 +
<td> 120 </td>
 +
<td> AUDIO_GND        </td>
 +
<td> Analog Ground for line-level audio
 +
</td></tr>
 +
<tr>
 +
<td> 121 </td>
 +
<td> RESERVED          </td>
 +
<td> -
 +
</td></tr>
 +
<tr>
 +
<td> 122 </td>
 +
<td> MPCIACT#          </td>
 +
<td> MiniPCI Function Active
 +
</td></tr>
 +
<tr>
 +
<td> 123 </td>
 +
<td> VCC5VA            </td>
 +
<td> 5V Analog
 +
</td></tr>
 +
<tr>
 +
<td> 124 </td>
 +
<td> 3.3VAUX          </td>
 +
<td> 3.3 V supply-uninterrupted
 +
</td></tr>
 +
</table>
  
 
== an idea to install openWrt ==
 
== an idea to install openWrt ==

Revision as of 12:36, 16 August 2013

For more interesting projects done by Flameman&Legacy, be sure to check out their project index


this page is under development ...

main

The RouterStation Pro is an Atheros AR7161 MIPS.v2-based board. Geared towards networking applications, it has all of the usual features as well as three type IIIA mini-PCI slots and an on-board 3-port 10/100/1000 Ethernet switch, in addition to the 10/100/1000 Ethernet WAN port which supports Power-over-Ethernet.

Hardware
Info
Architecture: MIPS.v2, BigEndian
Vendor: Atheros
Bootloader: RedBoot
System-On-Chip: Atheros MIPS 24K
CPU Speed: 680 Mhz
Flash-Chip:
Flash size: 16 MiB
RAM: 64 MiB DDR
Wireless: 3x 32-bit Mini-PCI slots (None included)
Switch: Ethernet Phy switch, ADMTEK "Infineon" ADM6996FC
Ethernet ports: 3x 10/100 BASE-TX (Cat. 5, RJ-45) Ethernet Interface with PoE on WAN
USB: Yes v2.0
Serial: Yes
JTAG: Yes


Boot Process

The RouterStation uses RedBoot as its boot loader. In the default configuration (shipping as of December 2008), a basic Linux kernel and BusyBox userspace is loaded from flash. The RedBoot boot sequence can be interrupted and a kernel loaded via TFTP instead.

RedBoot uses the WAN port for its network interface.

Once the system is booted, login with username/password ubnt to access the shell.

memory layout

Board: Ubiquiti RouterStation PRO
 Arch: ar7100pro
  RAM: 0x80000000-0x88000000, [0x8003bf00-0x87fe1000] available
Flash: 0xbf000000-0xc0000000, in 256 blocks of 0x00010000 bytes each


redboot

flameman/redboot

do not use this

load -r -b 0x80040000 -h 192.168.1.14 gentoo-ubiquiti

put a kernel.elf in the /tftpboot folder and just type

load kernel.elf


Just a quick note

more to myself than anyone else, but I wasn't able to easily find this information online, trolling through the OpenWRT and Ubiquiti forums.

I wanted to try booting different kernels on the device before committing to flashing, so that all I had to do was reboot the board and everything would come back up as normal. It seems obvious that this should be possible, and with a bit of digging around in RedBoot docs, trial and error, and a few lucky guesses I was able to figure out the incantation to make RedBoot load an uncompressed linux kernel (ELF) and boot it:

load -m tftp -h 192.168.1.1 openwrt-ar71xx-generic-vmlinux.elf
exec -c "board=UBNT-RSPRO panic=1"

Note that this does not change the root filesystem, so if your modules aren't compatible, this won't work, but I suspect if you use an embedded initrd you can run the system entirely out of RAM without touching flash.




kernel

expected lzma compressed kernel ( -d means decompress )

RedBoot> cache off
RedBoot> fis load -d -e kernel
RedBoot> go

i am integrating 2.6.32.27 to mips-v2 ar71xx, a lot of patches to be committed


networks idea

Routerstatio Pro physical networks go this way

    +-----------+       +-----------+
    |           | Eth0  |           |
    |           +-------+----------5+-WAN
    |           |       | AR8316    |
    |    CPU    |       |        +-4+-LAN1
    |           | Eth1  |        +-3+-LAN2
    |           +-------+0-------+-2+-LAN3
    |           |       |        +-1+ (not connected)
    +-----------+       +-----------+

issue

miniPci problem

on routerboard pro all the 3 miniPci are is incompatible with many non-Atheros miniPCI cards, especially with

  • wifi cards ipw2x00
  • multi uart 16c650


not tested, but it seems they are supported

  • TP-Link TL-WN861N wireless minipci card
  • Ubiquiti SR2 WiFi Mini-PCI Radio


bad thing happening on pci

insmod ipw2200

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.2kmprq
ipw2200: Copyright(c) 2003-2006 Intel Corporation
PCI: Enabling device 0000:00:11.0 (0000 -> 0002)
PCI: Setting latency timer of device 0000:00:11.0 to 64
ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
PCI error 1 at PCI addr 0x10000024
Data bus error, epc == 87141c58, ra == 8714d360
Oops[#1]:
Broadcom 43xx wireless support

pci 0000:00:13.0: BAR 0: assigned [mem 0x10000000-0x10001fff]
pci 0000:00:13.0: BAR 0: set to [mem 0x10000000-0x10001fff] (PCI address [0x10000000-0x10001fff])
PCI: mapping irq 74 to pin1@0000:00:13.0
Switching to clocksource MIPS
cfg80211: Calling CRDA to update world regulatory domain
Switched to NOHz mode on CPU #0
PCI error 1 at PCI addr 0x10001000
Data bus error, epc == 80204808, ra == 802f207c


it seems an hardware issue (may bepossible ???)

reason why

static struct resource ar71xx_pci_io_resource = 
       {
       .name = "PCI IO space",
       .start = 0,
       .end = 0,
       .flags = IORESOURCE_IO,
       };
static struct resource ar71xx_pci_mem_resource = 
       {
       .name = "PCI memory space",
       .start = AR71XX_PCI_MEM_BASE,
       .end = AR71XX_PCI_MEM_BASE + AR71XX_PCI_MEM_SIZE - 1,
       .flags = IORESOURCE_MEM
       };
static struct pci_controller ar71xx_pci_controller = 
       {
       .pci_ops = &ar71xx_pci_ops,
       .mem_resource = &ar71xx_pci_mem_resource,
       .io_resource = &ar71xx_pci_io_resource,
       };


  • pci_io_resource size is equal to 0
  • the PCI driver for ar71xx currently (1) doesn't support I/O allocations, only memory allocations
  • therefore any card requiring I/O won't work for now on ar71xx.
  • I/O can only be accessed indirectly on ar71xx, so the driver needs special handling for I/O accesses.


(1) currently The PCI controller in ar71xx SoCs only provides access to PCI memory space and PCI configuration space, but not to PCI IO space, it is an hardware limitation of ar71xx SoC, missing hardware able to handle PCI IO space, hardware hack is required with special handling for IO space accesses. Which, in case it is enough to fix the problem, nobody hasn't done yet, and it seems impossible to be fixed.

see http://en.wikipedia.org/wiki/Conventional_PCI#PCI_command_codes


  • 0010 I/O Read - performs a read from I/O space. All 32 bits of the read address are provided, so that a device can (for compatibility reasons) implement less than 4 bytes worth of I/O registers. If the byte enables request data not within the address range supported by the PCI device (e.g. a 4-byte read from a device which only supports 2 bytes of I/O address space), it must be terminated with a target abort. Multiple data cycles are permitted, using linear (simple incrementing) burst ordering.The PCI standard is discouraging the use of I/O space in new devices, preferring that as much as possible be done through main memory mapping.
  • 0011 I/O Write - performs a write to I/O space.
  • 0110 Memory Read - performs a read cycle from memory space. Because the smallest memory space a PCI device is permitted to implement is 16 bits, the two least significant bits of the address are not needed; equivalent information will arrive in the form of byte select signals. They instead specify the order in which burst data must be returned. If a device does not support the requested order, it must provide the first word and then disconnect. If a memory space is marked as "prefetchable", then the target device must ignore the byte select signals on a memory read and always return 32 valid bits.
  • 0111 Memory Write - operates similarly to a memory read. The byte select signals are more important in a write, as unselected bytes must not be written to memory.Generally, PCI writes are faster than PCI reads, because a device can buffer the incoming write data and release the bus faster. For a read, it must delay the data phase until the data has been fetched.

currently working mini pci board

the PCI controller in ar71xx SoCs only provides access to PCI memory space and PCI configuration space, but not to PCI IO space. you need to write special handling for IO space accesses, which handle the pci io request mapping it into a memory request: this piece of code is missing.

so currently, generally

  • wont work: any mini pci card that needs PCI IO space
  • will work: any mini pci card that ONLY needs PCI mem space

may be working board

  • Sokeris VPN1411 encryption miniPCI card seems to be PCI_MEM_ONLY, it performs as crypto-hw-hifn-795x for OpenSSL VPN & IPSec hw acceleration

tested board

  • wifi tp-link, which is atheros-wifi, it uses pci_mem only

dmesg

currently not working mini pci board

  • wont work uart: PCI one chip solution OXFORD OXuPCI954, for uart 16c950 [1]
  • wont work sata: PCI one chip solution VIA VT6421A

if you ever thought to build your own miniPCI card

From this bad experience i also understand that the PCI bus specifiction requires appropriate electrical signals for interface logic, so if you want to interface some chip to PCI bus you must use only PCI compliance chips!!!

One solution is to use commercial ASIC PCI bridge. Another is to implement PCI interface with PCI compliance programmable logic chip. For additional information about PCI interfaces look at PLD vendors site.

So the conclusion is: if you don't need high transfer data rate use serial or parallel port, or USB bus.

mini pci

Types

Type Pins
I 100
II 100
III 124

Type I/II, 100 pin

Pin Name
1 INTB#
2 +5v
3 3.3v
4 INTA#
5 Reserved
6 Reserved
7 3.3AUX
8 C/BE[1]#
9 CLK
10 RST#
11 Ground
12 3.3v
13 REQ#
14 GNT#
15 3.3v
16 Ground
17 AD[31]
18 PME#
19 AD[29]
20 Reserved
21 Ground
22 AD[30]
23 AD[27]
24 3.3v
25 AD[25]
26 AD[28]
27 Reserved
28 AD[28]
29 C/BE[3]#
30 AD[24]
31 AD[23]
32 IDSEL
33 Ground
34 Ground
35 AD[21]
36 AD[22]
37 AD[19]
38 AD[20]
39 Ground
40 PAR
41 AD[17]
42 AD[18]
43 C/BE[2]#
44 AD[16]
45 IRDY#
46 Ground
47 3.3v
48 Frame#
49 CLKRUN#
50 TRDY#
51 SERR#
52 STOP#
53 Ground
54 +3.3v
55 PERR#
56 DEVSEL#
57 C/BE[1]#
58 Ground
59 AD[14]
60 AD[15]
61 Ground
62 AD[13]
63 AD[12]
64 AD[11]
65 AD[10]
66 Ground
67 Ground
68 AD[09]
69 AD[08]
70 C/BE[0]#
71 AD[07]
72 3.3v
73 3.3v
74 AD[06]
75 AD[05]
76 AD[04]
77 Reserved
78 AD[02]
79 AD[03]
80 AD[00]
81 5v
82 Reserved_WIP 1
83 AD[01]
84 Reserved_WIP 1
85 Ground
86 Ground
87 AC_SYNC
88 M66EN
89 AC_SDATA_IN
90 AC_SDATA_OUT
91 AC_BIT_CLK
92 AC_CODEC_ID0#
93 AC_CODEC_ID1#
94 AC_RESET#
95 MOD_AUDIO_MON
96 Reserved
97 Audio_GND
98 Ground
99 SYS_AUDIO_OUT
100 SYS_AUDIO_IN

1) WIP=Work in progress

Type III, 124 pin

Pin Name Description
1 TIP 1 Conductor, local loop wire pair
2 RING 1 Conductor, local loop wire pair
3 8PMJ-3 Pin 3 of an 8-pin modular jack
4 8PMJ-1 Pin 1 of an 8-pin modular jack
5 8PMJ-6 Pin 6 of an 8-pin modular jack
6 8PMJ-2 Pin 2 of an 8-pin modular jack
7 8PMJ-7 Pin 7 of an 8-pin modular jack
8 8PMJ-4 Pin 4 of an 8-pin modular jack
9 8PMJ-8 Pin 8 of an 8-pin modular jack
10 8PMJ-5 Pin 5 of an 8-pin modular jack
11 LED1_GRNP Interface for external LEDs
12 LED2_YELP Interface for external LEDs
13 LED1_GRNN RF Silent input
14 LED2_YELN Interface for external LEDs
15 CHSGND Chassis Ground
16 RESERVED -
17 INTB# Interrupt Request B
18 5V 5 V Supply voltage
19 3.3V 3.3 V Supply voltage
20 INTA# Interrupt Request A
21 RESERVED -
22 RESERVED -
23 GROUND Ground
24 3.3VAUX 3.3 V supply-uninterrupted
25 CLK PCI Clock
26 RST# PCI Reset
27 GROUND Ground
28 3.3V 3.3 V Supply voltage
29 REQ# PCI Bus Request
30 GNT# PCI Bus Grant
31 3.3V 3.3 V Supply voltage
32 GROUND Ground
33 AD[31] Multiplexed Address/Data Bus
34 PME# Power Management Event
35 AD[29] Multiplexed Address/Data Bus
36 RESERVED -
37 GROUND Ground
38 AD[30] Multiplexed Address/Data Bus
39 AD[27] Multiplexed Address/Data Bus
40 3.3V 3.3 V Supply voltage
41 AD[25] Multiplexed Address/Data Bus
42 AD[28] Multiplexed Address/Data Bus
43 RESERVED -
44 AD[26] Multiplexed
- Key -
- - -
45 C/BE[3]# Byte Enable
46 AD[24] Multiplexed Address/Data Bus
47 AD[23] Multiplexed Address/Data Bus
48 IDSEL Initialization Device Select
49 GROUND Ground
50 GROUND Ground
51 AD[21] Multiplexed Address/Data Bus
52 AD[22] Multiplexed Address/Data Bus
53 AD[19] Multiplexed Address/Data Bus
54 AD[20] Multiplexed Address/Data Bus
55 GROUND Ground
56 PAR Parity Bit
57 AD[17] Multiplexed Address/Data Bus
58 AD[18] Multiplexed Address/Data Bus
59 C/BE[2]# Byte Enable
60 AD[16] Multiplexed Address/Data Bus
61 IRDY# Initiator Ready
62 Ground Ground
63 3.3V 3.3 V Supply voltage
64 FRAME# Indicates Bulk Transfer
65 CLKRUN# Stops clock on certain mobile PCI devices
66 TRDY# Target Ready
67 SERR# Catastrophic system error
68 STOP# Target wishes to end transfer
69 GROUND Ground
70 3.3V 3.3 V Supply voltage
71 PERR# Indicates Parity Error
72 DEVSEL# PCI Device Select
73 C/BE[1]# Byte Enable
74 GROUND Ground
75 AD[14] Multiplexed Address/Data Bus
76 AD[15] Multiplexed Address/Data Bus
77 GROUND Ground
78 AD[13] Multiplexed Address/Data Bus
79 AD[12] Multiplexed Address/Data Bus
80 AD[11] Multiplexed Address/Data Bus
81 AD[10] Multiplexed Address/Data Bus
82 GROUND Ground
83 GROUND Ground
84 AD[09] Multiplexed Address/Data Bus
85 AD[08] Multiplexed Address/Data Bus
86 C/BE[0]# Byte Enable
87 AD[07] Multiplexed Address/Data Bus
88 3.3V 3.3 V Supply voltage
89 3.3V 3.3 V Supply
90 AD[06] Multiplexed Address/Data Bus
91 AD[05] Multiplexed Address/Data Bus
92 AD[04] Multiplexed Address/Data Bus
93 RESERVED -
94 AD[02] Multiplexed Address/Data Bus
95 AD[03] Multiplexed Address/Data Bus
96 AD[00] Multiplexed Address/Data Bus
97 5V 5 V Supply voltage
98 RESERVED_WIP5 -
99 AD[01] Multiplexed Address/Data Bus
100 RESERVED_WIP5 -
101 GROUND Ground
102 GROUND Ground
103 AC_SYNC AC97 Sync
104 M66EN Enables 66 MHz PCI bus
105 AC_SDATA_IN AC97 Data Input
106 AC_SDATA_OUT AC97 Data Output
107 AC_BIT_CLK AC97 Bit Clock
108 AC_CODEC_ID0# Identifier for AC97 CODEC
109 AC_CODEC_ID1# Identifier for AC97 CODEC
110 AC_RESET# AC97 Reset
111 MOD_AUDIO_MON Modern Audio Monitor
112 RESERVED -
113 AUDIO_GND Analog Ground for line-level audio
114 GROUND Ground
115 SYS_AUDIO_OUT Telephone Audio Out
116 SYS_AUDIO_IN Telephone Audio In
117 SYS_AUDIO_OUT GND Analog Ground for telephone audio
118 SYS_AUDIO_IN GND Analog Ground for telephone audio
119 AUDIO_GND Analog Ground for line-level audio
120 AUDIO_GND Analog Ground for line-level audio
121 RESERVED -
122 MPCIACT# MiniPCI Function Active
123 VCC5VA 5V Analog
124 3.3VAUX 3.3 V supply-uninterrupted

an idea to install openWrt

Setup instructions

You will need the following:

  • A serial cable - female to female (or female to male + gender changer). The cable must be straight through, *not* a null modem cable.
  • USB flash drive or hard disk that is able to be powered from the board's USB port.
  • tftp server installed on your workstation.

Preparation

The following instructions assume that /dev/sdb corresponds to the USB disk when it is plugged into your workstation. If this is not the case in your setup, please be careful to substitute the correct device name in all commands where appropriate.

   Build an image using "routerstationpro" as the MACHINE. For example, you can build core-image-minimal.
   Partition the USB drive so that primary partition 1 is type Linux (83). Minimum size depends on your root image size - core-image-minimal probably only needs 8-16MB, while other images will need more.# fdisk /dev/sdb
   Command (m for help): pDisk /dev/sdb: 4011 MB, 4011491328 bytes
   124 heads, 62 sectors/track, 1019 cylinders, total 7834944 sectors
   Units = sectors of 1 * 512 = 512 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk identifier: 0x0009e87dDevice Boot Start End Blocks Id System
   /dev/sdb1 62 1952751 976345 83 Linux
   Format partition 1 on the USB as ext3# mke2fs -j /dev/sdb1
   Mount partition 1 and then extract the contents of tmp/deploy/images/core-image-XXXX.tar.bz2 into it (preserving permissions).# mount /dev/sdb1 /media/sdb1
   # cd /media/sdb1
   # tar -xvjpf tmp/deploy/images/core-image-XXXX.tar.bz2
   Unmount the USB drive and then plug it into the board's USB port
   Connect the board's serial port to your workstation and then start up your favourite serial terminal so that you will be able to interact with the serial console. If you don't have a favourite, picocom is suggested:$ picocom /dev/ttyUSB0 -b 115200
   Connect the network into eth0 (the one that is NOT the 3 port switch). If you are using power-over-ethernet then the board will power up at this point.
   Start up the board, watch the serial console. Hit Ctrl+C to abort the autostart if the board is configured that way (it is by default). The bootloader's fconfig command can be used to disable autostart and configure the IP settings if you need to change them (default IP is 192.168.1.20).
   Make the kernel (tmp/deploy/images/vmlinux-routerstationpro.bin) available on the tftp server.
   If you are going to write the kernel to flash, remove the current kernel and rootfs flash partitions. You can list the partitions using the following bootloader command:RedBoot> fis list
   You can delete the existing kernel and rootfs with these commands:RedBoot> fis delete kernel
   RedBoot> fis delete rootfs

Booting a Kernel Directly

Load the kernel using the following bootloader command:

RedBoot> load -m tftp kernel-ubiquiti.bin

You should see a message on it being successfully loaded.

Execute the kernel:

RedBoot> exec -c "console=ttyS0,115200 root=/dev/sda1 rw rootdelay=2 board=UBNT-RSPRO"


NOTE: Specifying the command line with -c is important as linux-yocto does not provide a default command line.

NOTE: you MUST declare board=UBNT-RSPRO, case the kernel needs this information to enable specific hw initialization, if you do not provide board=UBNT-RSPRO the kernel will consider "generic" profile (no usb, no ethernet, etc)

Writing a Kernel to Flash

Go to your tftp server and gzip the kernel you want in flash. It should halve the size.

Load the kernel using the following bootloader command:

RedBoot> load -r -b 0x80600000 -m tftp -h kernel-ubiquiti.bin.gz

This command should output something similar to the following:Raw file loaded 0x80600000-0x8087c537, assumed entry at 0x80600000

Calculate the length by subtracting the first number from the second number and then rounding the result up to the nearest 0x1000.

Using the length calculated above, create a flash partition for the kernel

RedBoot> fis create -b 0x80600000 -l 0x240000 kernel

NOTE: Change 0x240000 to your rounded length and change "kernel" to whatever you want to name your kernel

Booting a Kernel from Flash

To boot the flashed kernel perform the following steps.

At the bootloader prompt, load the kernel

RedBoot> fis load -d -e kernel

NOTE: Change the name "kernel" above if you chose something different earlier. Also, -e means 'elf' and -d means 'decompress'.

Execute the kernel using the exec command as above.

Automating the Boot Process

After writing the kernel to flash and testing the load and exec commands manually, you can automate the boot process with a boot script.

RedBoot> fconfig

NOTE: Answer the questions not specified here as they pertain to your environment.


Run script at boot: trueBoot 
script:
   .. fis load -d -e kernel
    .. exec
    Enter script, terminate with empty line>> fis load -d -e kernel
>> exec -c "console=ttyS0,115200 root=/dev/sda1 rw rootdelay=2 board=UBNT-RSPRO"
>>


Answer the remaining questions and write the changes to flash:

Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbfff0000-0xc0000000: .
... Program from 0x87ff0000-0x88000000 at 0xbfff0000: .
Power cycle the board.

other os

openwrt (linux)

freebsd/mips ???

Category