Skip to content

tools and info on aerohive ap230 wifi access point

License

Notifications You must be signed in to change notification settings

Heisath/aerohive-ap230

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tools and documentation for Aerohive AP230

This repository is a collection of tools and documentation around the Aerohive AP230 wireless access point.

It does not detail general usage of the ap230, as there are many articles around the web already. In short it is a currently very affordable wifi ap. For general setup check:
https://gist.github.com/samdoran/6bb5a37c31a738450c04150046c1c039
https://forums.servethehome.com/index.php?threads/aerohive-extreme-networks-aps-no-controller-needed.31445/

More in depth information on hacking the ap230 can be found here:
https://research.aurainfosec.io/hacking-the-hive/

Accessing the Console port

The ap230 has a RJ45 console port which follows the RS232 protocol. Signal levels are -12V to 12V, normal polarity. 9600 baud, 8 bits, 1 stop bit, no parity.
Pin assignment:

---------------------------------
|              / \              |
|                               |
|                               |
|                               |
| 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
| N | N | R | G | G | T | N | N |
---------------------------------

N = not connected
G = gnd 
R = receive (host to ap230)
T = transmit (ap230 to host)

Beware the high signal level when using cheap usb converters!

Accessing the UBoot

To access the uboot you have to connect to the console, reboot the device and press any key when prompted. The password for the uboot seems to be AhNf?d@ta06 .

Beware when changing uboot env, when I used saveenv it corrupted the storage and I had to recover it.

Full bootlog in docs/u-boot.txt

Accessing the hidden shell

To access the busybox shell use the hidden _shell command on the aerohive cli. The password needed can be generated with the keygen in tools/aerohive-keygen, it requires the serial number.

Partitions

All data is stored on internal flash memory. It is seperated into 9 partitions:

cat /proc/mtd
dev:	offset		size		erasesize	name
mtd0:	00000000	00400000	00020000	"Uboot"
mtd1:	00400000	00040000	00020000	"Uboot Env"
mtd2:	00440000	00040000	00020000	"nvram"
mtd3:	00480000	00060000	00020000	"Boot Info"
mtd4:	004e0000	00060000	00020000	"Static Boot Info"
mtd5:	00540000	00040000	00020000	"Hardware Info"
mtd6:	00580000	00a00000	00020000	"Kernel"
mtd7:	00f80000	05000000	00020000	"App Image"
mtd8:	05f80000	1a080000	00020000	"JFFS2"

The partitions can be read from the busybox shell with dd and written from shell with mtd_debug. Example for mtd7:

# read
$dd if=/dev/mtd7 of=/f/partname

#erase then write
mtd_debug erase /dev/mtd7 83886080
mtd_debug write /dev/mtd7 0 83886080 /f/partname

Alternatively they can be written from uboot:

# get files via tftp
setenv ipaddr 192.168.1.50
setenv serverip 192.168.1.3
tftpboot 0x81000000 partname

# make sure to erase before write, calculate correct offsets from /proc/mtd
nand erase 0xf80000 0x5000000
nand write 0x81000000 0xf80000 0x5000000

Recovery

It is advisible to backup all 9 partitions before making any changes, in the worst case it is then possible to recover them from uboot via ymodem or tftp.

Vendor kernel

The device in the newest firmware 10.0r8 is running linux kernel 3.16.36 built with gcc 4.5.3. Check out the vendor kernel config and the version string:
Linux version 3.16.36 (build@cd102) (gcc version 4.5.3 (crosstool-NG 1.13.4 - buildroot 2012.02) ) #1 SMP PREEMPT Thu Jan 9 23:02:02 PST 2020

About

tools and info on aerohive ap230 wifi access point

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages