找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5378|回复: 21

openwrt 1505版本 手工添加941 v7出错请教

[复制链接]
发表于 2018-9-12 20:29 | 显示全部楼层 |阅读模式
本帖最后由 hzjnet@163.com 于 2018-9-13 15:13 编辑

根据H大的源码,手工添加CC版本对941v7型号的支持源码地址:https://github.com/hackpascal/op ... 6854df32dac5b33bfe3

编译无出错,正常刷入后宕机,TTL输出如下:
Boot and Recovery Environment for Embedded Devices
Copyright (C) 2017 HackPascal <hackpascal@gmail.com>
Build date 2017-09-21 [git-35a696e]
Version 1.1 (r1126)

DRAM: 64MB
Platform: Qualcomm Atheros QCA9558 rev 0
Board: TP-LINK/MercuryCom/FastCom QCA9558 + AR8236 devices
Clocks: CPU: 720MHz, DDR: 400MHz, AHB: 200MHz, Ref: 40MHz
Flash: Macronix MX25L6435E (8MB) on ath79-spi
ag71xx-eth: Using MAC address 28:xx:xx:xx:xx:xx
Waiting for auto-negotiation complete ... OK
eth0: Atheros AR8236 rev 1

Network started on eth0, inet addr 192.168.1.1, netmask 255.255.255.0

Press any key to interrupt autoboot ... 4   
Autoboot aborted due to key press.

Starting breed built-in shell

breed> Upgrade completed.
Rebooting in 2 seconds ...
Resetting ...
Boot and Recovery Environment for Embedded Devices
Copyright (C) 2017 HackPascal <hackpascal@gmail.com>
Build date 2017-09-21 [git-35a696e]
Version 1.1 (r1126)

DRAM: 64MB
Platform: Qualcomm Atheros QCA9558 rev 0
Board: TP-LINK/MercuryCom/FastCom QCA9558 + AR8236 devices
Clocks: CPU: 1280MHz, DDR: 400MHz, AHB: 200MHz, Ref: 40MHz
Flash: Macronix MX25L6435E (8MB) on ath79-spi
ag71xx-eth: Using MAC address 28:xx:xx:xx:xx:xx
Waiting for auto-negotiation complete ... OK
eth0: Atheros AR8236 rev 1

Network started on eth0, inet addr 192.168.1.1, netmask 255.255.255.0

Press any key to interrupt autoboot ... 0   

Trying to boot firmware from 0x9f020000 ...
TP-LINK firmware image header detected.
    Image Name:   09410007
    Data Size:    1025820 Bytes
    Load Address: 80060000
    Entry Point:  80060000
Uncompressing data (LZMA) ... done.
Flushing cache ... done.

Starting kernel at 0x80060000...

[    0.000000] Linux version 3.18.23 (hzjnet@ub16opar71tinyip221) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 dev) ) #18 Wed Sep 12 16:05:03 CST 2018
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019750 (MIPS 74Kc)
[    0.000000] SoC: Qualcomm Atheros QCA9558 ver 1 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x00000000-0x03ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x00000000-0x03ffffff]
[    0.000000] Initmem setup node 0 [mem 0x00000000-0x03ffffff]
[    0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 16256
[    0.000000] Kernel command line:  board=TL-WR941ND-v7  console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd
[    0.000000] MIPS: no machine found for id 'TL-WR941ND-v7', supported machines:
[    0.000000] id                       name
[    0.000000] Generic                  Generic AR71XX/AR724X/AR913X based board
[    0.000000] ALFA-AP96                ALFA Network AP96
[    0.000000] ALFA-NX                  ALFA Network N2/N5
[    0.000000] ALL0258N                 Allnet ALL0258N
[    0.000000] ALL0315N                 Allnet ALL0315N
[    0.000000] ANTMINER-S1              Antminer-S1
[    0.000000] ANTMINER-S3              Antminer-S3
[    0.000000] AP113                    Atheros AP113
[    0.000000] AP121-MINI               Atheros AP121-MINI
[    0.000000] AP121                    Atheros AP121 reference board
[    0.000000] AP132                    Atheros AP132 reference board
[    0.000000] AP135-020                Atheros AP135-020 reference board
[    0.000000] AP136-020                Atheros AP136-020 reference board
[    0.000000] AP136-010                Atheros AP136-010 reference board
[    0.000000] AP81                     Atheros AP81 reference board
[    0.000000] AP83                     Atheros AP83
[    0.000000] AP96                     Atheros AP96
[    0.000000] TL-WDR4900-v2            TP-LINK TL-WDR4900 v2
[    0.000000] ARCHER-C7                TP-LINK Archer C7
[    0.000000] ARCHER-C5                TP-LINK Archer C5
[    0.000000] AW-NR580                 AzureWave AW-NR580
[    0.000000] BXU2000n-2-A1            BHU BXU2000n-2 rev. A1
[    0.000000] BSB                      Smart Electronics Black Swift board
[    0.000000] CAP4200AG                Senao CAP4200AG
[    0.000000] CPE510                   TP-LINK CPE210/220/510/520
[    0.000000] DB120                    Atheros DB120 reference board
[    0.000000] dLAN-pro-500-wp          devolo dLAN pro 500 Wireless+
[    0.000000] dLAN-pro-1200-ac         devolo dLAN pro 1200+ WiFi ac
[    0.000000] DGL-5500-A1              D-Link DGL-5500 rev. A1
[    0.000000] DHP-1565-A1              D-Link DHP-1565 rev. A1
[    0.000000] DIR-505-A1               D-Link DIR-505 rev. A1
[    0.000000] DIR-615-E4               D-Link DIR-615 rev. E4
[    0.000000] DIR-615-E1               D-Link DIR-615 rev. E1
[    0.000000] DIR-600-A1               D-Link DIR-600 rev. A1
[    0.000000] DIR-615-C1               D-Link DIR-615 rev. C1
[    0.000000] DIR-615-I1               D-Link DIR-615 rev. I1
[    0.000000] DIR-825-B1               D-Link DIR-825 rev. B1
[    0.000000] DIR-835-A1               D-Link DIR-835 rev. A1
[    0.000000] DIR-825-C1               D-Link DIR-825 rev. C1
[    0.000000] DRAGINO2                 Dragino Dragino v2
[    0.000000] ESR900                   EnGenius ESR900
[    0.000000] EW-DORIN-ROUTER          EmbWir-Dorin-Router
[    0.000000] EW-DORIN                 EmbWir-Dorin
[    0.000000] EAP300V2                 EnGenius EAP300 v2
[    0.000000] ALL0305                  Allnet ALL0305
[    0.000000] EAP7660D                 Senao EAP7660D
[    0.000000] EL-M150                  EasyLink EL-M150
[    0.000000] EL-MINI                  EasyLink EL-MINI
[    0.000000] EPG5000                  EnGenius EPG5000
[    0.000000] ESR1750                  EnGenius ESR1750
[    0.000000] F9K1115V2                Belkin AC1750DB
[    0.000000] GL-INET                  GL-CONNECT INET v1
[    0.000000] MINIBOX-V1               MiniBox V1.0
[    0.000000] GS-OOLITE                Oolite V1.0
[    0.000000] HiWiFi-HC6361            HiWiFi HC6361
[    0.000000] JA76PF2                  jjPlus JA76PF2
[    0.000000] JA76PF                   jjPlus JA76PF
[    0.000000] JWAP003                  jjPlus JWAP003
[    0.000000] HORNET-UB                ALFA NETWORK Hornet-UB
[    0.000000] MC-MAC1200R              MERCURY MAC1200R
[    0.000000] MR12                     Meraki MR12
[    0.000000] MR16                     Meraki MR16
[    0.000000] MR600v2                  OpenMesh MR600v2
[    0.000000] MR600                    OpenMesh MR600
[    0.000000] MR900v2                  OpenMesh MR900v2
[    0.000000] MR900                    OpenMesh MR900
[    0.000000] MYNET-N600               WD My Net N600
[    0.000000] MYNET-N750               WD My Net N750
[    0.000000] MYNET-REXT               WD My Net Wi-Fi Range Extender
[    0.000000] MZK-W04NU                Planex MZK-W04NU
[    0.000000] MZK-W300NH               Planex MZK-W300NH
[    0.000000] NBG460N                  Zyxel NBG460N/550N/550NH
[    0.000000] OM2P-HSv2                OpenMesh OM2P HSv2
[    0.000000] OM2P-HS                  OpenMesh OM2P HS
[    0.000000] OM2Pv2                   OpenMesh OM2Pv2
[    0.000000] OM2P-LC                  OpenMesh OM2P LC
[    0.000000] OM2P                     OpenMesh OM2P
[    0.000000] OM5P-AN                  OpenMesh OM5P AN
[    0.000000] OM5P                     OpenMesh OM5P
[    0.000000] ONION-OMEGA              Onion Omega
[    0.000000] PB42                     Atheros PB42
[    0.000000] PB44                     Atheros PB44 reference board
[    0.000000] PB92                     Atheros PB92
[    0.000000] QIHOO-C301               Qihoo 360 C301
[    0.000000] R6100                    NETGEAR R6100
[    0.000000] RW2458N                  Redwave RW2458N
[    0.000000] SMART-300                NC-LINK SMART-300
[    0.000000] TEW-632BRP               TRENDnet TEW-632BRP
[    0.000000] TEW-673GRU               TRENDnet TEW-673GRU
[    0.000000] TEW-712BR                TRENDnet TEW-712BR
[    0.000000] TEW-732BR                TRENDnet TEW-732BR
[    0.000000] TL-MR3040-v2             TP-LINK TL-MR3040 v2
[    0.000000] TL-MR3040                TP-LINK TL-MR3040
[    0.000000] TL-MR11U                 TP-LINK TL-MR11U
[    0.000000] TL-MR13U                 TP-LINK TL-MR13U v1
[    0.000000] TL-MR3020                TP-LINK TL-MR3020
[    0.000000] TL-WR841N-v7             TP-LINK TL-WR841N/ND v7
[    0.000000] TL-MR3420                TP-LINK TL-MR3420
[    0.000000] TL-MR3220                TP-LINK TL-MR3220
[    0.000000] TL-WA901ND-v3            TP-LINK TL-WA901ND v3
[    0.000000] TL-WA860RE               TP-LINK TL-WA860RE
[    0.000000] TL-WA850RE               TP-LINK TL-WA850RE
[    0.000000] TL-WA801ND-v2            TP-LINK TL-WA801ND v2
[    0.000000] TL-WA750RE               TP-LINK TL-WA750RE
[    0.000000] TL-WA701ND-v2            TP-LINK TL-WA701ND v2
[    0.000000] TL-WA7210N-v2            TP-LINK TL-WA7210N v2
[    0.000000] TL-WA830RE-v2            TP-LINK TL-WA830RE v2
[    0.000000] TL-WA7510N               TP-LINK TL-WA7510N v1
[    0.000000] TL-WA901ND               TP-LINK TL-WA901ND
[    0.000000] TL-WA901ND-v2            TP-LINK TL-WA901ND v2
[    0.000000] TL-WDR3500               TP-LINK TL-WDR3500
[    0.000000] TL-WDR4300               TP-LINK TL-WDR3600/4300/4310
[    0.000000] TL-WR741ND               TP-LINK TL-WR741ND
[    0.000000] TL-MR3220-v2             TP-LINK TL-MR3220 v2
[    0.000000] TL-WR741ND-v4            TP-LINK TL-WR741ND v4
[    0.000000] TL-WR841N-v1.5           TP-LINK TL-WR841N v1
[    0.000000] TL-WR941ND-v5            TP-LINK TL-WR941N/ND v5
[    0.000000] TL-MR3420-v2             TP-LINK TL-MR3420 v2
[    0.000000] TL-WR842N-v2             TP-LINK TL-WR842N/ND v2
[    0.000000] TL-WR841N-v8             TP-LINK TL-WR841N/ND v8
[    0.000000] TL-WR841N-v9             TP-LINK TL-WR841N/ND v9
[    0.000000] TL-WR941ND               TP-LINK TL-WR941ND
[    0.000000] TL-WR1041N-v2            TP-LINK TL-WR1041N v2
[    0.000000] TL-WR1043ND              TP-LINK TL-WR1043ND
[    0.000000] TL-WR1043ND-v2           TP-LINK TL-WR1043ND v2
[    0.000000] TL-WR2543N               TP-LINK TL-WR2543N/ND
[    0.000000] TL-WR710N                TP-LINK TL-WR710N v1
[    0.000000] TL-WR703N                TP-LINK TL-WR703N v1
[    0.000000] TL-MR10U                 TP-LINK TL-MR10U
[    0.000000] TL-WR720N-v3             TP-LINK TL-WR720N v3/v4
[    0.000000] TUBE2H                   ALFA NETWORK Tube2H
[    0.000000] UBNT-LS-SR71             Ubiquiti LS-SR71
[    0.000000] UBNT-LSX                 Ubiquiti LSX
[    0.000000] UBNT-RSPRO               Ubiquiti RouterStation Pro
[    0.000000] UBNT-RS                  Ubiquiti RouterStation
[    0.000000] UBNT-AGW                 Ubiquiti AirGateway
[    0.000000] UBNT-RM-XW               Ubiquiti Rocket M XW
[    0.000000] UBNT-LOCO-XW             Ubiquiti Loco M XW
[    0.000000] UBNT-NM-XW               Ubiquiti Nanostation M XW
[    0.000000] UAP-PRO                  Ubiquiti UniFi AP Pro
[    0.000000] UBNT-UOP                 Ubiquiti UniFiAP Outdoor+
[    0.000000] UBNT-U20                 Ubiquiti UniFiAP Outdoor
[    0.000000] UBNT-UF                  Ubiquiti UniFi
[    0.000000] UBNT-AR                  Ubiquiti AirRouter
[    0.000000] UBNT-NM                  Ubiquiti Nanostation M
[    0.000000] UBNT-RM                  Ubiquiti Rocket M
[    0.000000] UBNT-BM                  Ubiquiti Bullet M
[    0.000000] UBNT-XM                  Ubiquiti Networks XM (rev 1.0) board
[    0.000000] WEIO                     WeIO board
[    0.000000] WHR-HP-GN                Buffalo WHR-HP-GN
[    0.000000] WHR-G301N                Buffalo WHR-G301N
[    0.000000] WHR-HP-G300N             Buffalo WHR-HP-G300N
[    0.000000] WLAE-AG300N              Buffalo WLAE-AG300N
[    0.000000] WLR8100                  Sitecom WLR-8100
[    0.000000] WNDAP360                 Netgear WNDAP360
[    0.000000] WNDR3700                 NETGEAR WNDR3700/WNDR3800/WNDRMAC
[    0.000000] WNDR4300                 NETGEAR WNDR4300
[    0.000000] WNDR3700_V4              NETGEAR WNDR3700v4
[    0.000000] WNR2000                  NETGEAR WNR2000
[    0.000000] WNR1000V2                NETGEAR WNR1000 V2
[    0.000000] WNR612V2                 NETGEAR WNR612 V2
[    0.000000] WNR2000V3                NETGEAR WNR2000 V3
[    0.000000] WNR2000V4                NETGEAR WNR2000 V4
[    0.000000] WNR2200                  NETGEAR WNR2200
[    0.000000] WP543                    Compex WP543
[    0.000000] WPE72                    Compex WPE72
[    0.000000] WPJ344                   Compex WPJ344
[    0.000000] WPJ531                   Compex WPJ531
[    0.000000] WPJ558                   Compex WPJ558
[    0.000000] WRT160NL                 Linksys WRT160NL
[    0.000000] WRT400N                  Linksys WRT400N
[    0.000000] WZR-HP-G300NH            Buffalo WZR-HP-G300NH
[    0.000000] WZR-HP-G300NH2           Buffalo WZR-HP-G300NH2
[    0.000000] WZR-HP-AG300H            Buffalo WZR-HP-AG300H/WZR-600DHP
[    0.000000] WZR-HP-G450H             Buffalo WZR-HP-G450H
[    0.000000] WZR-450HP2               Buffalo WZR-450HP2
[    0.000000] ZCN-1523H-5              Zcomax ZCN-1523H-5
[    0.000000] ZCN-1523H-2              Zcomax ZCN-1523H-2
[    0.000000] CARAMBOLA2               8devices Carambola2 board
[    0.000000] NBG6716                  Zyxel NBG6716
[    0.000000] PID hash table entries: 256 (order: -2, 1024 bytes)
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 61204K/65536K available (2449K kernel code, 129K rwdata, 284K rodata, 264K init, 185K bss, 4332K reserved)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS:51
[    0.000000] Clocks: CPU:1280.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:40.000MHz
[    0.000000] Calibrating delay loop... 637.74 BogoMIPS (lpj=3188736)
[    0.060000] pid_max: default: 32768 minimum: 301
[    0.060000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.060000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.060000] NET: Registered protocol family 16
[    0.070000] MIPS: machine is Generic AR71XX/AR724X/AR913X based board
[    0.070000] Switched to clocksource MIPS
[    0.070000] NET: Registered protocol family 2
[    0.080000] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.080000] TCP: Hash tables configured (established 1024 bind 1024)
[    0.080000] TCP: reno registered
[    0.080000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.080000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.080000] NET: Registered protocol family 1
[    0.080000] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.090000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.090000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.100000] msgmni has been set to 119
[    0.100000] io scheduler noop registered
[    0.100000] io scheduler deadline registered (default)
[    0.100000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
  0.120000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 2500000) is a 16550A
[    0.130000] console [ttyS0] enabled
[    0.130000] console [ttyS0] enabled
[    0.130000] bootconsole [early0] disabled
[    0.130000] bootconsole [early0] disabled
[    0.130000] TCP: cubic registered
[    0.140000] NET: Registered protocol family 17
[    0.140000] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    0.140000] Bridge firewalling registered
[    0.140000] 8021q: 802.1Q VLAN Support v1.8
[    0.150000] VFS: Cannot open root device "(null)" or unknown-block(0,0): error -6
[    0.160000] Please append a correct "root=" boot option; here are the available partitions:
[    0.160000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
[    0.160000] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

查了一些文章说是分区问题,请教该如何处理? 
这里我看见有这个提示:
[    0.000000] MIPS: no machine found for id 'TL-WR941ND-v7', supported machines:




我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-9-12 22:04 | 显示全部楼层
本帖最后由 hello_limin 于 2018-9-12 22:08 编辑

看我帖子里有看我帖子里有,

点评

在@hackpascal 的github里找wr941n-v7的源码,不过需要稍微修改一些才能编译通过,并正常使用, 源码地址[/url]  详情 回复 发表于 2018-9-12 22:13
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-12 22:13 | 显示全部楼层
本帖最后由 hello_limin 于 2018-9-12 22:14 编辑
hello_limin 发表于 2018-9-12 22:04
看我帖子里有看我帖子里有,,

@hackpascal 的github里找wr941n-v7的源码,不过需要稍微修改一些才能编译通过,并正常使用,

源码地址


点评

我就是用hackpascal的这个代码,编译没问题,就是不知道如何改,您的帖子我看了3遍了还是没找到原因啊?!  详情 回复 发表于 2018-9-12 22:27
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-12 22:27 | 显示全部楼层
hello_limin 发表于 2018-9-12 22:13
在@hackpascal 的github里找wr941n-v7的源码,不过需要稍微修改一些才能编译通过,并正常使用,

源码 ...

谢谢 ;我就是用hackpascal的这个代码,编译没问题,就是不知道如何改,您的帖子我看了3遍了还是没找到原因啊?!

点评

你用CC 15.05编译不行啊,太旧了,必须打个patch,不然内核无法识别机器,位置在  详情 回复 发表于 2018-9-12 22:40
修改后的代码,  详情 回复 发表于 2018-9-12 22:34
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-12 22:34 | 显示全部楼层
hzjnet@163.com 发表于 2018-9-12 22:27
谢谢 ;我就是用hackpascal的这个代码,编译没问题,就是不知道如何改,您的帖子我看了3遍了还是没找到 ...

修改后的代码,

  1. /*
  2. *  TP-LINK TL-WR941ND v7 board support
  3. *
  4. *  Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>
  5. *  Copyright (C) 2014 Gao Weijie <hackpacsal@gmail.com>
  6. *  Copyright (C) 2016 GuoGuo <gch981213@gmail.com>
  7. *
  8. *  This program is free software; you can redistribute it and/or modify it
  9. *  under the terms of the GNU General Public License version 2 as published
  10. *  by the Free Software Foundation.
  11. */

  12. #include <linux/pci.h>
  13. #include <linux/phy.h>
  14. #include <linux/gpio.h>
  15. #include <linux/delay.h>
  16. #include <linux/platform_device.h>
  17. #include <linux/ath9k_platform.h>
  18. #include <linux/ar8216_platform.h>

  19. #include <asm/mach-ath79/ath79.h>
  20. #include <asm/mach-ath79/ar71xx_regs.h>

  21. #include "common.h"
  22. #include "dev-ap9x-pci.h"
  23. #include "dev-eth.h"
  24. #include "dev-gpio-buttons.h"
  25. #include "dev-leds-gpio.h"
  26. #include "dev-m25p80.h"
  27. #include "dev-spi.h"
  28. #include "dev-wmac.h"
  29. #include "machtypes.h"
  30. #include "pci.h"

  31. #define WR941NDV7_GPIO_LED_WLAN                        12
  32. #define WR941NDV7_GPIO_LED_SYSTEM                19
  33. #define WR941NDV7_GPIO_LED_WPS                        15

  34. #define WR941NDV7_GPIO_BTN_RESET                16

  35. #define WR941NDV7_KEYS_POLL_INTERVAL                20        /* msecs */
  36. #define WR941NDV7_KEYS_DEBOUNCE_INTERVAL        (3 * WR941NDV7_KEYS_POLL_INTERVAL)

  37. #define ATH_MII_MGMT_CMD                0x24
  38. #define ATH_MGMT_CMD_READ                0x1

  39. #define ATH_MII_MGMT_ADDRESS                0x28
  40. #define ATH_ADDR_SHIFT                        8

  41. #define ATH_MII_MGMT_CTRL                0x2c
  42. #define ATH_MII_MGMT_STATUS                0x30

  43. #define ATH_MII_MGMT_IND                0x34
  44. #define ATH_MGMT_IND_BUSY                (1 << 0)
  45. #define ATH_MGMT_IND_INVALID                (1 << 2)

  46. #define QCA955X_ETH_CFG_GE0_MII_EN        BIT(1)
  47. #define QCA955X_ETH_CFG_GE0_MII_SLAVE        BIT(4)

  48. static const char *wr941ndv7_part_probes[] = {
  49.         "tp-link",
  50.         NULL,
  51. };

  52. static struct flash_platform_data wr941ndv7_flash_data = {
  53.         .part_probes        = wr941ndv7_part_probes,
  54. };

  55. static struct gpio_led wr941ndv7_leds_gpio[] __initdata = {
  56.         {
  57.                 .name                = "tp-link:green:wps",
  58.                 .gpio                = WR941NDV7_GPIO_LED_WPS,
  59.                 .active_low        = 1,
  60.         },
  61.         {
  62.                 .name                = "tp-link:green:system",
  63.                 .gpio                = WR941NDV7_GPIO_LED_SYSTEM,
  64.                 .active_low        = 1,
  65.         },
  66.         {
  67.                 .name                = "tp-link:green:wlan",
  68.                 .gpio                = WR941NDV7_GPIO_LED_WLAN,
  69.                 .active_low        = 1,
  70.         },
  71. };

  72. static struct gpio_keys_button wr941ndv7_gpio_keys[] __initdata = {
  73.         {
  74.                 .desc                = "reset",
  75.                 .type                = EV_KEY,
  76.                 .code                = KEY_RESTART,
  77.                 .debounce_interval = WR941NDV7_KEYS_DEBOUNCE_INTERVAL,
  78.                 .gpio                = WR941NDV7_GPIO_BTN_RESET,
  79.                 .active_low        = 1,
  80.         },
  81. };

  82. static struct mdio_board_info wr941ndv7_mdio0_info[] = {
  83.         {
  84.                 .bus_id = "ag71xx-mdio.0",
  85.                 .phy_addr = 0,
  86.                 .platform_data = NULL,
  87.         },
  88. };

  89. static unsigned long __init ath_gmac_reg_rd(unsigned long reg)
  90. {
  91.         void __iomem *base;
  92.         unsigned long t;

  93.         base = ioremap(AR71XX_GE0_BASE, AR71XX_GE0_SIZE);

  94.         t = __raw_readl(base + reg);

  95.         iounmap(base);

  96.         return t;
  97. }

  98. static void __init ath_gmac_reg_wr(unsigned long reg, unsigned long value)
  99. {
  100.         void __iomem *base;
  101.         unsigned long t = value;

  102.         base = ioremap(AR71XX_GE0_BASE, AR71XX_GE0_SIZE);

  103.         __raw_writel(t, base + reg);

  104.         iounmap(base);
  105. }

  106. static void __init phy_reg_write(unsigned char phy_addr, unsigned char reg, unsigned short data)
  107. {
  108.         unsigned short addr = (phy_addr << ATH_ADDR_SHIFT) | reg;
  109.         volatile int rddata;
  110.         unsigned short ii = 0xFFFF;

  111.         do
  112.         {
  113.                 udelay(5);
  114.                 rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
  115.         } while (rddata && --ii);

  116.         ath_gmac_reg_wr(ATH_MII_MGMT_ADDRESS, addr);
  117.         ath_gmac_reg_wr(ATH_MII_MGMT_CTRL, data);

  118.         do
  119.         {
  120.                 udelay(5);
  121.                 rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
  122.         } while (rddata && --ii);
  123. }

  124. static unsigned short __init phy_reg_read(unsigned char phy_addr, unsigned char reg)
  125. {
  126.         unsigned short addr = (phy_addr << ATH_ADDR_SHIFT) | reg, val;
  127.         volatile int rddata;
  128.         unsigned short ii = 0xffff;

  129.         do
  130.         {
  131.                 udelay(5);
  132.                 rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
  133.         } while (rddata && --ii);

  134.         ath_gmac_reg_wr(ATH_MII_MGMT_CMD, 0x0);
  135.         ath_gmac_reg_wr(ATH_MII_MGMT_ADDRESS, addr);
  136.         ath_gmac_reg_wr(ATH_MII_MGMT_CMD, ATH_MGMT_CMD_READ);

  137.         do
  138.         {
  139.                 udelay(5);
  140.                 rddata = ath_gmac_reg_rd(ATH_MII_MGMT_IND) & 0x1;
  141.         } while (rddata && --ii);

  142.         val = ath_gmac_reg_rd(ATH_MII_MGMT_STATUS);
  143.         ath_gmac_reg_wr(ATH_MII_MGMT_CMD, 0x0);

  144.         return val;
  145. }

  146. static void __init athrs27_reg_write(unsigned int s27_addr, unsigned int s27_write_data)
  147. {
  148.         unsigned int addr_temp;
  149.         unsigned int data;
  150.         unsigned char phy_address, reg_address;

  151.         addr_temp = (s27_addr) >> 2;
  152.         data = addr_temp >> 7;

  153.         phy_address = 0x1f;
  154.         reg_address = 0x10;

  155.         phy_reg_write(phy_address, reg_address, data);

  156.         phy_address = (0x17 & ((addr_temp >> 4) | 0x10));

  157.         reg_address = (((addr_temp << 1) & 0x1e) | 0x1);
  158.         data = (s27_write_data >> 16) & 0xffff;
  159.         phy_reg_write(phy_address, reg_address, data);

  160.         reg_address = ((addr_temp << 1) & 0x1e);
  161.         data = s27_write_data  & 0xffff;
  162.         phy_reg_write(phy_address, reg_address, data);
  163. }

  164. static unsigned int __init athrs27_reg_read(unsigned int s27_addr)
  165. {
  166.         unsigned int addr_temp;
  167.         unsigned int s27_rd_csr_low, s27_rd_csr_high, s27_rd_csr;
  168.         unsigned int data;
  169.         unsigned char phy_address, reg_address;

  170.         addr_temp = s27_addr >>2;
  171.         data = addr_temp >> 7;

  172.         phy_address = 0x1f;
  173.         reg_address = 0x10;

  174.         phy_reg_write(phy_address, reg_address, data);

  175.         phy_address = (0x17 & ((addr_temp >> 4) | 0x10));
  176.         reg_address = ((addr_temp << 1) & 0x1e);
  177.         s27_rd_csr_low = (unsigned int) phy_reg_read(phy_address, reg_address);

  178.         reg_address = reg_address | 0x1;
  179.         s27_rd_csr_high = (unsigned int) phy_reg_read(phy_address, reg_address);
  180.         s27_rd_csr = (s27_rd_csr_high << 16) | s27_rd_csr_low ;
  181.        
  182.         return (s27_rd_csr);
  183. }

  184. static void __init ar8236_reset(void)
  185. {
  186.         unsigned short i = 30;

  187.         athrs27_reg_write(0x0, athrs27_reg_read(0x0) | 0x80000000);
  188.         while (i--)
  189.         {
  190.                 mdelay(100);
  191.                 if (!(athrs27_reg_read(0x0) & 0x80000000))
  192.                 break;
  193.         }
  194. }

  195. static void __init wr941ndv7_setup(void)
  196. {
  197.         u8 *mac = (u8 *) KSEG1ADDR(0x1f01fc00);
  198.         u8 *art = (u8 *) KSEG1ADDR(0x1fff1000);
  199.         u8 tmpmac[ETH_ALEN];

  200.         ath79_register_m25p80(&wr941ndv7_flash_data);
  201.        
  202.         ath79_init_mac(tmpmac, mac, 0);
  203.         ath79_register_wmac(art, tmpmac);

  204.         ar8236_reset();

  205.         ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_GE0_MII_EN |  QCA955X_ETH_CFG_GE0_MII_SLAVE);

  206.         mdiobus_register_board_info(wr941ndv7_mdio0_info,
  207.                                     ARRAY_SIZE(wr941ndv7_mdio0_info));
  208.         ath79_register_mdio(0, 0x0);

  209.         /* WAN */
  210.         ath79_init_mac(ath79_eth0_data.mac_addr, mac, 0);

  211.         /* GMAC0 is connected to an AR8236 switch */
  212.         ath79_eth0_data.phy_if_mode = PHY_INTERFACE_MODE_MII;
  213.         ath79_eth0_data.speed = SPEED_100;
  214.         ath79_eth0_data.duplex = DUPLEX_FULL;
  215.         ath79_eth0_data.phy_mask = BIT(0);
  216.         ath79_eth0_data.mii_bus_dev = &ath79_mdio0_device.dev;
  217.         ath79_register_eth(0);

  218.         ath79_register_pci();
  219.        
  220.         ath79_register_leds_gpio(-1, ARRAY_SIZE(wr941ndv7_leds_gpio),
  221.                                  wr941ndv7_leds_gpio);
  222.         ath79_register_gpio_keys_polled(-1, WR941NDV7_KEYS_POLL_INTERVAL,
  223.                                         ARRAY_SIZE(wr941ndv7_gpio_keys),
  224.                                         wr941ndv7_gpio_keys);
  225. }

  226. MIPS_MACHINE(ATH79_MACH_TL_WR941ND_V7, "TL-WR941ND-v7", "TP-LINK TL-WR941ND v7", wr941ndv7_setup);
复制代码
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-12 22:40 | 显示全部楼层
hzjnet@163.com 发表于 2018-9-12 22:27
谢谢 ;我就是用hackpascal的这个代码,编译没问题,就是不知道如何改,您的帖子我看了3遍了还是没找到 ...

你用CC 15.05编译不行啊,太旧了,必须打个patch,不然内核无法识别机器,位置在

  1. (chaos_calmer_sources)/target/linux/ar71xx/patches-3.18/610-MIPS-ath79-openwrt-machines.patch
复制代码

点评

有这个补丁的  详情 回复 发表于 2018-9-12 22:53
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-12 22:53 | 显示全部楼层
本帖最后由 hzjnet@163.com 于 2018-9-12 23:06 编辑
hello_limin 发表于 2018-9-12 22:40
你用CC 15.05编译不行啊,太旧了,必须打个patch,不然内核无法识别机器,位置在

有这个补丁的,难道需要增加941v7的对应部分吗?

点评

当然是了,另外,你会修改patch并编译通过么?  详情 回复 发表于 2018-9-12 23:22
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-12 23:22 来自手机 | 显示全部楼层
hzjnet@163.com 发表于 2018-9-12 22:53
有这个补丁的,难道需要增加941v7的对应部分吗?

当然是了,另外,你会修改patch并编译通过么?

点评

在17016上4.4.153内核已经解决:MIPS: no machine found for id 'TL-WR941ND-v7', supported machines,但是3.18.23真不懂patch如何生成,搞不定,大神您看看能否帮忙弄一个该补丁喃? 先谢谢了  详情 回复 发表于 2018-9-24 10:13
谢谢 试试再说了三  详情 回复 发表于 2018-9-12 23:26
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-12 23:26 | 显示全部楼层
hello_limin 发表于 2018-9-12 23:22
当然是了,另外,你会修改patch并编译通过么?

谢谢 试试再说了三
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-24 10:13 | 显示全部楼层
本帖最后由 hzjnet@163.com 于 2018-9-24 11:01 编辑
hello_limin 发表于 2018-9-12 23:22
当然是了,另外,你会修改patch并编译通过么?

在17016上4.4.153内核已经解决:MIPS: no machine found for id 'TL-WR941ND-v7', supported machines,但是3.18.23真不懂patch如何生成,搞不定,大神您看看能否帮忙弄一个该补丁喃? 就缺在610-netfilter_match_bypass_default_checks.patch 基础上生成增加:
+config ATH79_MACH_TL_WR941N_V7
+        bool "TP-LINK TL-WR941N v7 support"
+        select SOC_QCA955X
+        select ATH79_DEV_ETH
+        select ATH79_DEV_GPIO_BUTTONS
+        select ATH79_DEV_LEDS_GPIO
+        select ATH79_DEV_M25P80
+        select ATH79_DEV_USB
+        select ATH79_DEV_WMAC
先谢谢了

点评

你手工修改的这个 patch 是个什么鬼东西? 它要是能编译通过,还真是奇了怪了, 最后,祝你搞机愉快,哈哈  详情 回复 发表于 2018-9-24 15:45
还有图片中除去红线以外的文件,都应做相对应的修改, 你都搞好了么? [attachimg]243579[/attachimg]  详情 回复 发表于 2018-9-24 10:31
修改后的patch文件在压缩包里头, 还有图片中除去红线以外的文件,都应做相对应的修改, 你都搞好了么?  详情 回复 发表于 2018-9-24 10:30
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-24 10:30 | 显示全部楼层
hzjnet@163.com 发表于 2018-9-24 10:13
在17016上4.4.153内核已经解决:MIPS: no machine found for id 'TL-WR941ND-v7', supported machines, ...

修改后的patch文件在压缩包里头,
还有图片中除去红线以外的文件,都应做相对应的修改,

你都搞好了么?




本帖子中包含更多资源

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

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

使用道具 举报

发表于 2018-9-24 10:31 | 显示全部楼层
hzjnet@163.com 发表于 2018-9-24 10:13
在17016上4.4.153内核已经解决:MIPS: no machine found for id 'TL-WR941ND-v7', supported machines, ...

还有图片中除去红线以外的文件,都应做相对应的修改,

你都搞好了么?

本帖子中包含更多资源

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

×

点评

搞好了的 就只缺+config ATH79_MACH_TL_WR941N_V7 + bool "TP-LINK TL-WR941N v7 support" + select SOC_QCA955X + select ATH79_DEV_ETH + select ATH79_DEV_GPIO_BUTTONS + select ATH79_DEV_LEDS_GPIO + se  详情 回复 发表于 2018-9-24 11:03
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-9-24 11:03 | 显示全部楼层
本帖最后由 hzjnet@163.com 于 2018-9-24 11:12 编辑
hello_limin 发表于 2018-9-24 10:31
还有图片中除去红线以外的文件,都应做相对应的修改,

你都搞好了么?

搞好了的 就只缺+config ATH79_MACH_TL_WR941N_V7
+        bool "TP-LINK TL-WR941N v7 support"
+        select SOC_QCA955X
+        select ATH79_DEV_ETH
+        select ATH79_DEV_GPIO_BUTTONS
+        select ATH79_DEV_LEDS_GPIO
+        select ATH79_DEV_M25P80
+        select ATH79_DEV_USB
+        select ATH79_DEV_WMAC  部分了
我手工改了后报错在1354行;  图片是17016正常的情况

本帖子中包含更多资源

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

×

点评

你仔细看看,你到底是修改的哪个地方的 patch? 位置在图片里的地方,你替换成我的就好,试试?  详情 回复 发表于 2018-9-24 15:42
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-24 12:03 | 显示全部楼层
好像在BB-14.07那会, OP官网上的941N-V7版本原始的就是支持的中国版的V7,不需要任何适配就可以拿来用.占用内存极低
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-9-24 15:42 | 显示全部楼层
hzjnet@163.com 发表于 2018-9-24 11:03
搞好了的 就只缺+config ATH79_MACH_TL_WR941N_V7
+        bool "TP-LINK TL-WR941N v7 support"
+    ...

你仔细看看,你到底是修改的哪个地方的 patch?

位置在图片里的地方,你替换成我的就好,试试?



下面传上来我修改后的patch,适用于 CC 15.05,
我修改成了,TL-WR941N-V7,而不是 TL-WR941ND-V7,你注意一下,



本帖子中包含更多资源

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

×

点评

我自己改了的 没有用ND 用的都是N  详情 回复 发表于 2018-9-24 18:11
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-18 09:42

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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