从 AR9341 开始,AR/QCA 芯片的 datasheet 上都会列出一个寄存器的某一位的作用:
其中提到:
设置 0x18070000 寄存器的第9位 (SW_APB_ACCESS) 为1,可以从 APB——也就是通过内存地址访问交换机的寄存器而不是通过MDIO来访问。
但是 datasheet 通篇没有提到设置后交换机的寄存器将被映射到的内存地址基址。
根据 AR/QCA 芯片的 APB 布局来看,旧的布局不会改变,要改变只会改变新的未使用的地址。
QCA9531 的 APB 布局:
通过观察可以发现 APB 新增的寄存器映射地址都是从 0x18100000 开始的,而且很密集,那么交换机的寄存器映射地址会不会在这之后呢?
使用 breed 进行实验:
首先设置 0x1b070000 寄存器:
因为 0x18100000 已经被占用了,所以测试 0x18200000,失败:
然后测试 0x18300000,成功:
为什么说成功?因为我比较了几个关键的寄存器:
1. Mask Control
Mask Control 记录有交换机的设备标识,由 datasheet 可以看到此寄存器默认值是 0x00000201,跟刚才读取的 0x18300000 的值相等
2. LED Control
LED Control 前三个寄存器的值分别是:
0xb0: 0xc935c935
0xb4: 0xca35ca35
0xb8: 0x0000cf35
跟 0xb83000b0 0xb83000b4 0xb83000b8 处读取的值相同
至此,我就成功探索出了 AR/QCA 芯片未公开的一点信息。
另外,通过 APB 访问内置交换机寄存器的效率高于通过 MDIO 访问,但是这对于 breed 来说没有太大的意义。
H大,有兴趣搞下星际宝盒 竞斗云吗?单IPQ4019方案
大佬,我想知道如果openwrt的系统被加了授权码,应该怎么破解,是硬件被加了还是固件被加了
hello sir
I am very happy that I send you this message
I have a simple query : is
in the root whit putty Type : iwlist txpower
The result:
lo no transmit-power information.
br0 no transmit-power information.
ath0.sta1 unknown transmit-power information.
Current Tx-Power=19 dBm (79 mW)
eth1 no transmit-power information.
eth0 no transmit-power information.
ath0 unknown transmit-power information.
Current Tx-Power=19 dBm (79 mW)
i work whit Hex Workshop
if i need up Tx-Power to 22 19 dBm
In any line change my value in art.bin