找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 86986|回复: 66

高通 TP9343 (TL-WR882N) 芯片的一些参数

  [复制链接]
发表于 2014-6-29 23:09 | 显示全部楼层 |阅读模式
本帖最后由 hackpascal 于 2014-12-9 23:19 编辑

楼主近日购进一台 TP-LINK TL-WR882N v1 (拆机图 https://www.right.com.cn/forum/thread-143640-1-1.html)
使用的是 TP9343 芯片。因为没有任何关于它的资料,所以楼主对其原厂 U-Boot 进行了逆向分析,并做出不死 U-Boot,以获取芯片的参数。

TP9343 是 QCA9561 的阉割版,不带 PCI-E 和 USB 接口。
架构 MIPS 74K
主频 750MHz
23 个 GPIO
内置 4+1 百兆交换机 (FE) PHY

TL-WR882N v1 带 20dBm 的功放

TP9343 的 I/O 寄存器结构有些变化,和 QCA9558 不兼容。
固件已出:https://www.right.com.cn/forum/thread-154116-1-1.html

楼主的不死 U-Boot 输出:



不死 U-Boot 界面:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 7恩山币 +11 收起 理由
touc*** + 1 强大的恩山!(以下重复1万次)
ZBH*** + 1 土豪,我们做朋友吧!
sen*** + 1 怀揽白富美的屌丝露出了惊讶的眼神:哥,你太帅了!
为后天*** + 3 怀揽白富美的屌丝露出了惊讶的眼神:哥,你太帅了!
ypy*** + 1 一看就是觉得高端、大气、上档次!
ZHIZ*** + 3 一看就是觉得高端、大气、上档次!
a91*** + 1 一看就是觉得高端、大气、上档次!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2014-6-29 23:57 | 显示全部楼层
楼主威武
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-6-30 09:39 | 显示全部楼层
楼主 还是写个不死MT7620 的吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-6-30 10:12 来自手机 | 显示全部楼层
顶!在没有任的资料的情况下一个星期就搞出来了,问下楼主9343跟9533(也是阉割版啊)有点什么不同?希望楼主编译出固件造福大众!

点评

9533 主频是 560MHz 的, MIPS 24K 架构 其他的好像差别不大  详情 回复 发表于 2014-7-1 00:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-7-1 00:14 | 显示全部楼层
ayer 发表于 2014-6-30 10:12
顶!在没有任的资料的情况下一个星期就搞出来了,问下楼主9343跟9533(也是阉割版啊)有点什么不同?希望楼 ...

9533 主频是 560MHz 的, MIPS 24K 架构
其他的好像差别不大
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-1 20:11 | 显示全部楼层
不知楼主是否研究过TP-LINK的vxworks系统,有一条信息请楼主核查一下
AP136_VxWorks_TPLINK_20130802=TP-LINK_XXXX=1001
楼主对atheros的芯片应该也是比较了解的,以下代码供楼主参考
  1. /*
  2. * Qualcomm Atheros AP136 reference board support

  3. */

  4. #include <linux/pci.h>
  5. #include <linux/ath9k_platform.h>

  6. #include "machtypes.h"
  7. #include "dev-gpio-buttons.h"
  8. #include "dev-leds-gpio.h"
  9. #include "dev-spi.h"
  10. #include "dev-usb.h"
  11. #include "dev-wmac.h"
  12. #include "pci.h"

  13. #define AP136_GPIO_LED_STATUS_RED        14
  14. #define AP136_GPIO_LED_STATUS_GREEN        19
  15. #define AP136_GPIO_LED_USB                4
  16. #define AP136_GPIO_LED_WLAN_2G                13
  17. #define AP136_GPIO_LED_WLAN_5G                12
  18. #define AP136_GPIO_LED_WPS_RED                15
  19. #define AP136_GPIO_LED_WPS_GREEN        20

  20. #define AP136_GPIO_BTN_WPS                16
  21. #define AP136_GPIO_BTN_RFKILL                21

  22. #define AP136_KEYS_POLL_INTERVAL        20        /* msecs */
  23. #define AP136_KEYS_DEBOUNCE_INTERVAL        (3 * AP136_KEYS_POLL_INTERVAL)

  24. #define AP136_WMAC_CALDATA_OFFSET 0x1000
  25. #define AP136_PCIE_CALDATA_OFFSET 0x5000

  26. static struct gpio_led ap136_leds_gpio[] __initdata = {
  27.         {
  28.                 .name                = "qca:green:status",
  29.                 .gpio                = AP136_GPIO_LED_STATUS_GREEN,
  30.                 .active_low        = 1,
  31.         },
  32.         {
  33.                 .name                = "qca:red:status",
  34.                 .gpio                = AP136_GPIO_LED_STATUS_RED,
  35.                 .active_low        = 1,
  36.         },
  37.         {
  38.                 .name                = "qca:green:wps",
  39.                 .gpio                = AP136_GPIO_LED_WPS_GREEN,
  40.                 .active_low        = 1,
  41.         },
  42.         {
  43.                 .name                = "qca:red:wps",
  44.                 .gpio                = AP136_GPIO_LED_WPS_RED,
  45.                 .active_low        = 1,
  46.         },
  47.         {
  48.                 .name                = "qca:red:wlan-2g",
  49.                 .gpio                = AP136_GPIO_LED_WLAN_2G,
  50.                 .active_low        = 1,
  51.         },
  52.         {
  53.                 .name                = "qca:red:usb",
  54.                 .gpio                = AP136_GPIO_LED_USB,
  55.                 .active_low        = 1,
  56.         }
  57. };

  58. static struct gpio_keys_button ap136_gpio_keys[] __initdata = {
  59.         {
  60.                 .desc                = "WPS button",
  61.                 .type                = EV_KEY,
  62.                 .code                = KEY_WPS_BUTTON,
  63.                 .debounce_interval = AP136_KEYS_DEBOUNCE_INTERVAL,
  64.                 .gpio                = AP136_GPIO_BTN_WPS,
  65.                 .active_low        = 1,
  66.         },
  67.         {
  68.                 .desc                = "RFKILL button",
  69.                 .type                = EV_KEY,
  70.                 .code                = KEY_RFKILL,
  71.                 .debounce_interval = AP136_KEYS_DEBOUNCE_INTERVAL,
  72.                 .gpio                = AP136_GPIO_BTN_RFKILL,
  73.                 .active_low        = 1,
  74.         },
  75. };

  76. static struct spi_board_info ap136_spi_info[] = {
  77.         {
  78.                 .bus_num        = 0,
  79.                 .chip_select        = 0,
  80.                 .max_speed_hz        = 25000000,
  81.                 .modalias        = "mx25l6405d",
  82.         }
  83. };

  84. static struct ath79_spi_platform_data ap136_spi_data = {
  85.         .bus_num        = 0,
  86.         .num_chipselect        = 1,
  87. };

  88. #ifdef CONFIG_PCI
  89. static struct ath9k_platform_data ap136_ath9k_data;

  90. static int ap136_pci_plat_dev_init(struct pci_dev *dev)
  91. {
  92.         if (dev->bus->number == 1 && (PCI_SLOT(dev->devfn)) == 0)
  93.                 dev->dev.platform_data = &ap136_ath9k_data;

  94.         return 0;
  95. }

  96. static void __init ap136_pci_init(u8 *eeprom)
  97. {
  98.         memcpy(ap136_ath9k_data.eeprom_data, eeprom,
  99.                sizeof(ap136_ath9k_data.eeprom_data));

  100.         ath79_pci_set_plat_dev_init(ap136_pci_plat_dev_init);
  101.         ath79_register_pci();
  102. }
  103. #else
  104. static inline void ap136_pci_init(u8 *eeprom) {}
  105. #endif /* CONFIG_PCI */

  106. static void __init ap136_setup(void)
  107. {
  108.         u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);

  109.         ath79_register_leds_gpio(-1, ARRAY_SIZE(ap136_leds_gpio),
  110.                                  ap136_leds_gpio);
  111.         ath79_register_gpio_keys_polled(-1, AP136_KEYS_POLL_INTERVAL,
  112.                                         ARRAY_SIZE(ap136_gpio_keys),
  113.                                         ap136_gpio_keys);
  114.         ath79_register_spi(&ap136_spi_data, ap136_spi_info,
  115.                            ARRAY_SIZE(ap136_spi_info));
  116.         ath79_register_usb();
  117.         ath79_register_wmac(art + AP136_WMAC_CALDATA_OFFSET);
  118.         ap136_pci_init(art + AP136_PCIE_CALDATA_OFFSET);
  119. }

  120. MIPS_MACHINE(ATH79_MACH_AP136_010, "AP136-010",
  121.              "Atheros AP136-010 reference board",
  122.              ap136_setup);
复制代码




我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-12 13:05 | 显示全部楼层
TP9343,新一代广告无线路由神器,快搞出OPENWRT。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-7-15 15:22 | 显示全部楼层
24k  74k   有什么区别吗  这个问题已经困扰我N久了  。。。还有其他XXK的  求大神解释下

点评

打个比方,就是奔腾4和酷睿2的区别  详情 回复 发表于 2014-7-19 00:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-7-19 00:20 | 显示全部楼层
S沁雨寒S_风雪 发表于 2014-7-15 15:22
24k  74k   有什么区别吗  这个问题已经困扰我N久了  。。。还有其他XXK的  求大神解释下

打个比方,就是奔腾4和酷睿2的区别
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-8-9 21:00 来自手机 | 显示全部楼层
从TP9343的芯片照片上看,TP9343和QCA9533很象,感觉是QCA953x 系列的阉割超频版,不是QCA9588的阉割

点评

不能根据外观看 QCA953x已经是缩水版了 QCA953x 是 560MHz 24K 架构的 而 TP9343 是 750MHz 74K 架构,整体的性能和IO寄存器跟QCA9558很像 这是从内部分析得出的结论  详情 回复 发表于 2014-8-9 21:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-8-9 21:20 | 显示全部楼层
shellcode 发表于 2014-8-9 21:00
从TP9343的芯片照片上看,TP9343和QCA9533很象,感觉是QCA953x 系列的阉割超频版,不是QCA9588的阉割

不能根据外观看
QCA953x已经是缩水版了
QCA953x 是 560MHz 24K 架构的
而 TP9343 是 750MHz 74K 架构,整体的性能和IO寄存器跟QCA9558很像
这是从内部分析得出的结论

点评

和9533不像,经对比,应该是9561阉割产物,去掉了USB QCA9561 n/a MIPS 74Kc 750MHz bgn 3x3:3 PCIe host,USB 2.0 host, integrated FE switch TP9343 (Dragonfly) n/a MIPS 74Kc 750MHz bgn 3x3:3  详情 回复 发表于 2014-10-24 18:52
那短期看不到openwrt支持TP9343的可能性了吧 也没有看到TPLINK发布GPL代码  详情 回复 发表于 2014-8-9 22:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-8-9 21:41 来自手机 | 显示全部楼层
从编号看,TP9343可能是AR9344的阉割改进版

点评

不能这么看。。  发表于 2014-8-9 21:53
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-8-9 22:30 | 显示全部楼层
hackpascal 发表于 2014-8-9 21:20
不能根据外观看
QCA953x已经是缩水版了
QCA953x 是 560MHz 24K 架构的

那短期看不到openwrt支持TP9343的可能性了吧

也没有看到TPLINK发布GPL代码

点评

是      详情 回复 发表于 2014-8-9 22:50
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-8-9 22:50 | 显示全部楼层
shellcode 发表于 2014-8-9 22:30
那短期看不到openwrt支持TP9343的可能性了吧

也没有看到TPLINK发布GPL代码

是    

点评

我是小白。我也想请问个问题:AR9132和AR7240有什么不同?性能差距大吗?  详情 回复 发表于 2014-9-12 20:18
TP9343感觉是高通专门搞出来给TP-LINK用的。 现在不少TP-LINK的路由器都换成这个CPU了  详情 回复 发表于 2014-8-25 17:20
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2014-8-25 17:20 | 显示全部楼层

TP9343感觉是高通专门搞出来给TP-LINK用的。
现在不少TP-LINK的路由器都换成这个CPU了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-26 03:32

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表