您尚未登录。

楼主 # 2023-10-18 08:58:49

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

自己绘制的V3S板卡,RTL8723DS接到MMC1中 ,使用licheepi的dts文件,uboot、主线kernel4.1.3、buildroot均已正常跑起,已经关闭占用IO的leds,并且打开mmc1。
&mmc1 {
    broken-cd;
    bus-width = <4>;
    vmmc-supply = <&reg_vcc3v3>;
    status = "okay";
};
kernel中编译rtl8723bs的驱动(不知道bs和ds有没有差异,我查资料说ds只是多了bt功能),生成r8723bs.ko
同时拷贝wifi固件rtl8723bs_nic.bin 到根文件系统的 /lib/firmware/rtlwifi/ 目录下
insmod r8723bs.ko时,日志如下

# insmod r8723bs.ko
[  486.608732] r8723bs: module is from the staging directory, the quality is unknown, you have been warned.
[  486.625290] RTL8723BS: module init start
[  486.629363] RTL8723BS: rtl8723bs v4.3.5.5_12290.20140916_BTCOEX20140507-4E40
[  486.636428] RTL8723BS: rtl8723bs BT-Coex version = BTCOEX20140507-4E40
[  486.643041] RTL8723BS: module init ret =0
#
# ifconfig -a
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

从上面看加载驱动时并没有报相关的错误,但也没看到下载固件的日志,最终还是找不到wlan0

硬件信号测试:
模组VCC供电3.3V、电压纹波正常,天线未焊接
CLK线上有时钟信号产生,但是时钟下边沿不是0V,不知道有没有影响。
wifi模块原理图如下:
.png

各位大佬能不能给个排查思路,感谢!

最近编辑记录 kemp (2023-10-18 09:04:27)

离线

楼主 #1 2023-10-18 09:01:11

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

附上完整的开机日志:

U-Boot SPL 2017.01-rc2-00073-gdd6e874-dirty (Oct 14 2023 - 16:57:06)
DRAM: 64 MiB
Trying to boot from MMC1


U-Boot 2017.01-rc2-00073-gdd6e874-dirty (Oct 14 2023 - 16:57:06 +0000) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: unrecognized JEDEC id bytes: 00, 00, 00
*** Warning - spi_flash_probe() failed, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000


U-Boot 2017.01-rc2-00073-gdd6e874-dirty (Oct 14 2023 - 16:57:06 +0000) Allwinner Technology

CPU:   Allwinner V3s (SUN8I 1681)
Model: Lichee Pi Zero
DRAM:  64 MiB
MMC:   SUNXI SD/MMC: 0
SF: unrecognized JEDEC id bytes: 00, 00, 00
*** Warning - spi_flash_probe() failed, using default environment

Setting up a 800x480 lcd console (overscan 0x0)
dotclock: 33000kHz = 33000kHz: (1 * 3MHz * 66) / 6
In:    serial@01c28000
Out:   serial@01c28000
Err:   serial@01c28000
Net:   No ethernet found.
starting USB...
No controllers found
Hit any key to stop autoboot:  2 
 1 
 0 
reading zImage
4105144 bytes read in 211 ms (18.6 MiB/s)
reading sun8i-v3s-licheepi-zero-dock.dtb
11741 bytes read in 26 ms (440.4 KiB/s)
## Flattened Device Tree blob at 41800000
   Booting using the fdt blob at 0x41800000
   Loading Device Tree to 42dfa000, end 42dffddc ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.13.0-licheepi-zero+ (root@5b077f6e0bc8) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #3 SMP Tue Oct 17 13:52:01 UTC 2023
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: Lichee Pi Zero with Dock
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] percpu: Embedded 16 pages/cpu @c3de6000 s33868 r8192 d23476 u65536
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 15883
[    0.000000] Kernel command line: console=ttyS0,115200 panic=5 rootwait mtdparts=spi32766.0:1M(uboot)ro,64k(dtb)ro,6M(kernel)ro,-(rootfs) root=/dev/mmcblk0p2 earlyprintk rw
[    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] Memory: 53580K/64036K available (6144K kernel code, 219K rwdata, 1468K rodata, 1024K init, 262K bss, 10456K reserved, 0K cma-reserved, 0K highmem)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc4000000 - 0xff800000   ( 952 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc3e89000   (  62 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0700000   (7136 kB)
[    0.000000]       .init : 0xc0900000 - 0xc0a00000   (1024 kB)
[    0.000000]       .data : 0xc0a00000 - 0xc0a36dc0   ( 220 kB)
[    0.000000]        .bss : 0xc0a3d8b0 - 0xc0a7f194   ( 263 kB)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] Hierarchical RCU implementation.
[    0.000000]         RCU event tracing is enabled.
[    0.000000]         RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=1.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (virt).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns
[    0.000009] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns
[    0.000021] Switching to timer-based delay loop, resolution 41ns
[    0.000191] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.000419] Console: colour dummy device 80x30
[    0.000456] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=240000)
[    0.000471] pid_max: default: 32768 minimum: 301
[    0.000602] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000615] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001214] CPU: Testing write buffer coherency: ok
[    0.001595] /cpus/cpu@0 missing clock-frequency property
[    0.001620] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.002059] Setting up static identity map for 0x40100000 - 0x40100060
[    0.002240] Hierarchical SRCU implementation.
[    0.002747] smp: Bringing up secondary CPUs ...
[    0.002761] smp: Brought up 1 node, 1 CPU
[    0.002772] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[    0.002779] CPU: All CPU(s) started in SVC mode.
[    0.003545] devtmpfs: initialized
[    0.006666] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.006958] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.006986] futex hash table entries: 256 (order: 2, 16384 bytes)
[    0.007148] pinctrl core: initialized pinctrl subsystem
[    0.008044] random: get_random_u32 called from bucket_table_alloc+0xf4/0x244 with crng_init=0
[    0.008181] NET: Registered protocol family 16
[    0.008655] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.009766] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.009783] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.023267] SCSI subsystem initialized
[    0.023548] usbcore: registered new interface driver usbfs
[    0.023634] usbcore: registered new interface driver hub
[    0.023724] usbcore: registered new device driver usb
[    0.023974] pps_core: LinuxPPS API ver. 1 registered
[    0.023983] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.024005] PTP clock support registered
[    0.024216] Advanced Linux Sound Architecture Driver Initialized.
[    0.024892] Bluetooth: Core ver 2.22
[    0.024966] NET: Registered protocol family 31
[    0.024974] Bluetooth: HCI device and connection manager initialized
[    0.024991] Bluetooth: HCI socket layer initialized
[    0.025002] Bluetooth: L2CAP socket layer initialized
[    0.025037] Bluetooth: SCO socket layer initialized
[    0.026245] clocksource: Switched to clocksource arch_sys_counter
[    0.037480] NET: Registered protocol family 2
[    0.038091] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.038126] TCP bind hash table entries: 1024 (order: 1, 8192 bytes)
[    0.038150] TCP: Hash tables configured (established 1024 bind 1024)
[    0.038280] UDP hash table entries: 256 (order: 1, 8192 bytes)
[    0.038328] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[    0.038548] NET: Registered protocol family 1
[    0.039137] RPC: Registered named UNIX socket transport module.
[    0.039154] RPC: Registered udp transport module.
[    0.039160] RPC: Registered tcp transport module.
[    0.039166] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.041264] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.050323] NFS: Registering the id_resolver key type
[    0.050373] Key type id_resolver registered
[    0.050381] Key type id_legacy registered
[    0.051353] random: fast init done
[    0.054361] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    0.054385] io scheduler noop registered
[    0.054393] io scheduler deadline registered
[    0.054634] io scheduler cfq registered (default)
[    0.054646] io scheduler mq-deadline registered
[    0.054654] io scheduler kyber registered
[    0.059129] sun8i-v3s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[    0.131137] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[    0.134513] console [ttyS0] disabled
[    0.154788] 1c28000.serial: ttyS0 at MMIO 0x1c28000 (irq = 36, base_baud = 1500000) is a U6_16550A
[    0.766530] console [ttyS0] enabled
[    0.791543] 1c28800.serial: ttyS1 at MMIO 0x1c28800 (irq = 37, base_baud = 1500000) is a U6_16550A
[    0.804068] libphy: Fixed MDIO Bus: probed
[    0.808686] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.815212] ehci-platform: EHCI generic platform driver
[    0.820765] ehci-platform 1c1a000.usb: EHCI Host Controller
[    0.826439] ehci-platform 1c1a000.usb: new USB bus registered, assigned bus number 1
[    0.834361] ehci-platform 1c1a000.usb: irq 26, io mem 0x01c1a000
[    0.866256] ehci-platform 1c1a000.usb: USB 2.0 started, EHCI 1.00
[    0.873476] hub 1-0:1.0: USB hub found
[    0.877402] hub 1-0:1.0: 1 port detected
[    0.881883] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    0.888183] ohci-platform: OHCI generic platform driver
[    0.893728] ohci-platform 1c1a400.usb: Generic Platform OHCI controller
[    0.900459] ohci-platform 1c1a400.usb: new USB bus registered, assigned bus number 2
[    0.908388] ohci-platform 1c1a400.usb: irq 27, io mem 0x01c1a400
[    0.981330] hub 2-0:1.0: USB hub found
[    0.985148] hub 2-0:1.0: 1 port detected
[    0.992764] udc-core: couldn't find an available UDC - added [g_cdc] to list of pending drivers
[    1.002379] input: 1c22800.lradc as /devices/platform/soc/1c22800.lradc/input/input0
[    1.011336] sun6i-rtc 1c20400.rtc: rtc core: registered rtc-sun6i as rtc0
[    1.018245] sun6i-rtc 1c20400.rtc: RTC enabled
[    1.022787] i2c /dev entries driver
[    1.027823] input: ns2009_ts as /devices/platform/soc/1c2ac00.i2c/i2c-0/0-0048/input/input1
[    1.037372] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[    1.045297] Bluetooth: HCI UART driver ver 2.3
[    1.049848] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    1.116296] sunxi-mmc 1c0f000.mmc: base:0xc406d000 irq:23
[    1.164273] mmc0: host does not support reading read-only switch, assuming write-enable
[    1.175447] mmc0: new high speed SDHC card at address aaaa
[    1.181516] sunxi-mmc 1c10000.mmc: base:0xc4071000 irq:24
[    1.188067] usbcore: registered new interface driver usbhid
[    1.193642] usbhid: USB HID core driver
[    1.198264] mmcblk0: mmc0:aaaa SH32G 29.7 GiB 
[    1.205945] sun4i-codec 1c22c00.codec: ASoC: /soc/codec-analog@01c23000 not registered
[    1.214005] sun4i-codec 1c22c00.codec: Failed to register our card
[    1.222557]  mmcblk0: p1 p2
[    1.226601] sunxi-mmc 1c10000.mmc: card claims to support voltages below defined range
[    1.235543] NET: Registered protocol family 17
[    1.240229] Key type dns_resolver registered
[    1.244640] Registering SWP/SWPB emulation handler
[    1.254159] simple-framebuffer 43e89000.framebuffer: framebuffer at 0x43e89000, 0x177000 bytes, mapped to 0xc4380000
[    1.264828] simple-framebuffer 43e89000.framebuffer: format=x8r8g8b8, mode=800x480x32, linelength=3200
[    1.281149] Console: switching to colour frame buffer device 100x30
[    1.293580] simple-framebuffer 43e89000.framebuffer: fb0: simplefb registered!
[    1.302143] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[    1.313539] musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
[    1.319382] musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 3
[    1.328534] hub 3-0:1.0: USB hub found
[    1.332400] hub 3-0:1.0: 1 port detected
[    1.337713] using random self ethernet address
[    1.342168] using random host ethernet address
[    1.347755] usb0: HOST MAC 6a:16:d4:89:b8:6e
[    1.352079] usb0: MAC 9e:83:ef:6f:8f:87
[    1.355958] g_cdc gadget: CDC Composite Gadget, version: King Kamehameha Day 2008
[    1.363545] g_cdc gadget: g_cdc ready
[    1.369894] sun4i-codec 1c22c00.codec: Codec <-> 1c22c00.codec mapping ok
[    1.378718] sun6i-rtc 1c20400.rtc: setting system clock to 1970-01-01 00:12:11 UTC (731)
[    1.387148] vcc5v0: disabling
[    1.390127] ALSA device list:
[    1.393090]   #0: V3s Audio Codec
[    1.398477] EXT4-fs (mmcblk0p2): couldn't mount as ext3 due to feature incompatibilities
[    1.407745] EXT4-fs (mmcblk0p2): couldn't mount as ext2 due to feature incompatibilities
[    1.418684] mmc1: new high speed SDIO card at address 0001
[    1.449345] EXT4-fs (mmcblk0p2): recovery complete
[    1.456001] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    1.464233] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    1.471107] devtmpfs: mounted
[    1.475385] Freeing unused kernel memory: 1024K
[    1.519728] musb-hdrc musb-hdrc.1.auto: VBUS_ERROR in b_idle (80, <SessEnd), retry #0, port1 00000100
[    1.590177] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Starting logging: OK
Initializing random number generator... done.
Starting system message bus: 
done
Starting network: 
OK

Welcome to LicheePi
licheepi login: 

离线

楼主 #2 2023-10-18 14:18:05

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

同时贴上dtb转换回的dts,目前还没啥头绪

/dts-v1/;

/ {
	#address-cells = <0x1>;
	#size-cells = <0x1>;
	interrupt-parent = <0x1>;
	model = "Lichee Pi Zero with Dock";
	compatible = "licheepi,licheepi-zero-dock", "licheepi,licheepi-zero", "allwinner,sun8i-v3s";

	chosen {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;
		stdout-path = "serial0:115200n8";

		framebuffer@0 {
			compatible = "allwinner,simple-framebuffer", "simple-framebuffer";
			allwinner,pipeline = "de0-lcd0";
			clocks = <0x2 0x21 0x3 0x0 0x3 0x6 0x2 0x40>;
			status = "disabled";
		};
	};

	cpus {
		#address-cells = <0x1>;
		#size-cells = <0x0>;

		cpu@0 {
			compatible = "arm,cortex-a7";
			device_type = "cpu";
			reg = <0x0>;
			clocks = <0x2 0xe>;
		};
	};

	display-engine {
		compatible = "allwinner,sun8i-v3s-display-engine";
		allwinner,pipelines = <0x4>;
		status = "disabled";
	};

	timer {
		compatible = "arm,armv7-timer";
		interrupts = <0x1 0xd 0xf08 0x1 0xe 0xf08 0x1 0xb 0xf08 0x1 0xa 0xf08>;
	};

	clocks {
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		osc24M_clk {
			#clock-cells = <0x0>;
			compatible = "fixed-clock";
			clock-frequency = <0x16e3600>;
			clock-output-names = "osc24M";
			linux,phandle = <0xc>;
			phandle = <0xc>;
		};

		osc32k_clk {
			#clock-cells = <0x0>;
			compatible = "fixed-clock";
			clock-frequency = <0x8000>;
			clock-output-names = "osc32k";
			linux,phandle = <0xd>;
			phandle = <0xd>;
		};
	};

	soc {
		compatible = "simple-bus";
		#address-cells = <0x1>;
		#size-cells = <0x1>;
		ranges;

		clock@1000000 {
			compatible = "allwinner,sun8i-v3s-de2-clk";
			reg = <0x1000000 0x100000>;
			clocks = <0x2 0x3f 0x2 0x23>;
			clock-names = "mod", "bus";
			resets = <0x2 0x22>;
			#clock-cells = <0x1>;
			#reset-cells = <0x1>;
			linux,phandle = <0x3>;
			phandle = <0x3>;
		};

		mixer@1100000 {
			compatible = "allwinner,sun8i-v3s-de2-mixer";
			reg = <0x1100000 0x100000>;
			clocks = <0x3 0x0 0x3 0x6>;
			clock-names = "bus", "mod";
			resets = <0x3 0x0>;
			assigned-clocks = <0x3 0x6>;
			assigned-clock-rates = <0x8f0d180>;
			linux,phandle = <0x4>;
			phandle = <0x4>;

			ports {
				#address-cells = <0x1>;
				#size-cells = <0x0>;

				port@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;

					endpoint@0 {
						reg = <0x0>;
						remote-endpoint = <0x5>;
						linux,phandle = <0x6>;
						phandle = <0x6>;
					};
				};
			};
		};

		syscon@1c00000 {
			compatible = "allwinner,sun8i-v3s-system-controller", "syscon";
			reg = <0x1c00000 0x1000>;
			linux,phandle = <0x14>;
			phandle = <0x14>;
		};

		lcd-controller@1c0c000 {
			compatible = "allwinner,sun8i-v3s-tcon";
			reg = <0x1c0c000 0x1000>;
			interrupts = <0x0 0x56 0x4>;
			clocks = <0x2 0x21 0x2 0x40>;
			clock-names = "ahb", "tcon-ch0";
			clock-output-names = "tcon-pixel-clock";
			resets = <0x2 0x1b>;
			reset-names = "lcd";
			status = "disabled";

			ports {
				#address-cells = <0x1>;
				#size-cells = <0x0>;

				port@0 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x0>;

					endpoint@0 {
						reg = <0x0>;
						remote-endpoint = <0x6>;
						linux,phandle = <0x5>;
						phandle = <0x5>;
					};
				};

				port@1 {
					#address-cells = <0x1>;
					#size-cells = <0x0>;
					reg = <0x1>;
				};
			};
		};

		dma-controller@01c02000 {
			compatible = "allwinner,sun8i-v3s-dma";
			reg = <0x1c02000 0x1000>;
			interrupts = <0x0 0x32 0x4>;
			clocks = <0x2 0x15>;
			resets = <0x2 0x6>;
			#dma-cells = <0x1>;
			linux,phandle = <0xf>;
			phandle = <0xf>;
		};

		mmc@01c0f000 {
			compatible = "allwinner,sun7i-a20-mmc";
			reg = <0x1c0f000 0x1000>;
			clocks = <0x2 0x16 0x2 0x2d 0x2 0x2f 0x2 0x2e>;
			clock-names = "ahb", "mmc", "output", "sample";
			resets = <0x2 0x7>;
			reset-names = "ahb";
			interrupts = <0x0 0x3c 0x4>;
			status = "okay";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			pinctrl-0 = <0x7>;
			pinctrl-names = "default";
			broken-cd;
			bus-width = <0x4>;
			vmmc-supply = <0x8>;
		};

		mmc@01c10000 {
			compatible = "allwinner,sun7i-a20-mmc";
			reg = <0x1c10000 0x1000>;
			clocks = <0x2 0x17 0x2 0x30 0x2 0x32 0x2 0x31>;
			clock-names = "ahb", "mmc", "output", "sample";
			resets = <0x2 0x8>;
			reset-names = "ahb";
			interrupts = <0x0 0x3d 0x4>;
			pinctrl-names = "default";
			pinctrl-0 = <0x9>;
			status = "okay";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			broken-cd;
			bus-width = <0x4>;
			vmmc-supply = <0x8>;
		};

		mmc@01c11000 {
			compatible = "allwinner,sun7i-a20-mmc";
			reg = <0x1c11000 0x1000>;
			clocks = <0x2 0x18 0x2 0x33 0x2 0x35 0x2 0x34>;
			clock-names = "ahb", "mmc", "output", "sample";
			resets = <0x2 0x9>;
			reset-names = "ahb";
			interrupts = <0x0 0x3e 0x4>;
			status = "disabled";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		usb@01c19000 {
			compatible = "allwinner,sun8i-h3-musb";
			reg = <0x1c19000 0x400>;
			clocks = <0x2 0x1d>;
			resets = <0x2 0x11>;
			interrupts = <0x0 0x47 0x4>;
			interrupt-names = "mc";
			phys = <0xa 0x0>;
			phy-names = "usb";
			extcon = <0xa 0x0>;
			status = "okay";
			dr_mode = "otg";
		};

		phy@01c19400 {
			compatible = "allwinner,sun8i-v3s-usb-phy";
			reg = <0x1c19400 0x2c 0x1c1a800 0x4>;
			reg-names = "phy_ctrl", "pmu0";
			clocks = <0x2 0x38>;
			clock-names = "usb0_phy";
			resets = <0x2 0x0>;
			reset-names = "usb0_reset";
			status = "okay";
			#phy-cells = <0x1>;
			usb0_id_det-gpio = <0xb 0x5 0x6 0x0>;
			linux,phandle = <0xa>;
			phandle = <0xa>;
		};

		usb@01c1a000 {
			compatible = "allwinner,sun8i-v3s-ehci", "generic-ehci";
			reg = <0x1c1a000 0x100>;
			interrupts = <0x0 0x48 0x4>;
			clocks = <0x2 0x1e 0x2 0x1f>;
			resets = <0x2 0x12 0x2 0x16>;
			status = "okay";
		};

		usb@01c1a400 {
			compatible = "allwinner,sun8i-v3s-ohci", "generic-ohci";
			reg = <0x1c1a400 0x100>;
			interrupts = <0x0 0x49 0x4>;
			clocks = <0x2 0x1e 0x2 0x1f 0x2 0x39>;
			resets = <0x2 0x12 0x2 0x16>;
			status = "okay";
		};

		clock@01c20000 {
			compatible = "allwinner,sun8i-v3s-ccu";
			reg = <0x1c20000 0x400>;
			clocks = <0xc 0xd>;
			clock-names = "hosc", "losc";
			#clock-cells = <0x1>;
			#reset-cells = <0x1>;
			linux,phandle = <0x2>;
			phandle = <0x2>;
		};

		rtc@01c20400 {
			compatible = "allwinner,sun6i-a31-rtc";
			reg = <0x1c20400 0x54>;
			interrupts = <0x0 0x28 0x4 0x0 0x29 0x4>;
		};

		pinctrl@01c20800 {
			compatible = "allwinner,sun8i-v3s-pinctrl";
			reg = <0x1c20800 0x400>;
			interrupts = <0x0 0xf 0x4 0x0 0x11 0x4>;
			clocks = <0x2 0x25 0xc 0xd>;
			clock-names = "apb", "hosc", "losc";
			gpio-controller;
			#gpio-cells = <0x3>;
			interrupt-controller;
			#interrupt-cells = <0x3>;
			linux,phandle = <0xb>;
			phandle = <0xb>;

			i2c0 {
				pins = "PB6", "PB7";
				function = "i2c0";
				linux,phandle = <0x13>;
				phandle = <0x13>;
			};

			uart0@0 {
				pins = "PB8", "PB9";
				function = "uart0";
				linux,phandle = <0x11>;
				phandle = <0x11>;
			};

			uart1@0 {
				pins = "PE21", "PE22";
				function = "uart1";
				bias-pull-up;
			};

			uart2@0 {
				pins = "PB0", "PB1";
				function = "uart2";
				bias-pull-up;
				linux,phandle = <0x12>;
				phandle = <0x12>;
			};

			mmc0@0 {
				pins = "PF0", "PF1", "PF2", "PF3", "PF4", "PF5";
				function = "mmc0";
				drive-strength = <0x1e>;
				bias-pull-up;
				linux,phandle = <0x7>;
				phandle = <0x7>;
			};

			mmc1 {
				pins = "PG0", "PG1", "PG2", "PG3", "PG4", "PG5";
				function = "mmc1";
				drive-strength = <0x1e>;
				bias-pull-up;
				linux,phandle = <0x9>;
				phandle = <0x9>;
			};

			spi0 {
				pins = "PC0", "PC1", "PC2", "PC3";
				function = "spi0";
				linux,phandle = <0x16>;
				phandle = <0x16>;
			};
		};

		timer@01c20c00 {
			compatible = "allwinner,sun4i-a10-timer";
			reg = <0x1c20c00 0xa0>;
			interrupts = <0x0 0x12 0x4 0x0 0x13 0x4>;
			clocks = <0xc>;
		};

		watchdog@01c20ca0 {
			compatible = "allwinner,sun6i-a31-wdt";
			reg = <0x1c20ca0 0x20>;
			interrupts = <0x0 0x19 0x4>;
		};

		lradc@1c22800 {
			compatible = "allwinner,sun4i-a10-lradc-keys";
			reg = <0x1c22800 0x400>;
			interrupts = <0x0 0x1e 0x4>;
			status = "okay";
			vref-supply = <0xe>;

			button@200 {
				label = "Volume Up";
				linux,code = <0x73>;
				channel = <0x0>;
				voltage = <0x30d40>;
			};

			button@400 {
				label = "Volume Down";
				linux,code = <0x72>;
				channel = <0x0>;
				voltage = <0x61a80>;
			};

			button@600 {
				label = "Select";
				linux,code = <0x161>;
				channel = <0x0>;
				voltage = <0x927c0>;
			};

			button@800 {
				label = "Start";
				linux,code = <0x160>;
				channel = <0x0>;
				voltage = <0xc3500>;
			};
		};

		codec@01c22c00 {
			#sound-dai-cells = <0x0>;
			compatible = "allwinner,sun8i-v3s-codec";
			reg = <0x1c22c00 0x400>;
			interrupts = <0x0 0x1d 0x4>;
			clocks = <0x2 0x24 0x2 0x46>;
			clock-names = "apb", "codec";
			resets = <0x2 0x28>;
			dmas = <0xf 0xf 0xf 0xf>;
			dma-names = "rx", "tx";
			allwinner,codec-analog-controls = <0x10>;
			status = "okay";
			allwinner,audio-routing = "Headphone", "HP", "Headphone", "HPCOM", "MIC1", "Mic", "Mic", "HBIAS";
		};

		codec-analog@01c23000 {
			compatible = "allwinner,sun8i-v3s-codec-analog";
			reg = <0x1c23000 0x4>;
			linux,phandle = <0x10>;
			phandle = <0x10>;
		};

		serial@01c28000 {
			compatible = "snps,dw-apb-uart";
			reg = <0x1c28000 0x400>;
			interrupts = <0x0 0x0 0x4>;
			reg-shift = <0x2>;
			reg-io-width = <0x4>;
			clocks = <0x2 0x28>;
			resets = <0x2 0x31>;
			status = "okay";
			pinctrl-0 = <0x11>;
			pinctrl-names = "default";
		};

		serial@01c28400 {
			compatible = "snps,dw-apb-uart";
			reg = <0x1c28400 0x400>;
			interrupts = <0x0 0x1 0x4>;
			reg-shift = <0x2>;
			reg-io-width = <0x4>;
			clocks = <0x2 0x29>;
			resets = <0x2 0x32>;
			status = "disabled";
		};

		serial@01c28800 {
			compatible = "snps,dw-apb-uart";
			reg = <0x1c28800 0x400>;
			interrupts = <0x0 0x2 0x4>;
			reg-shift = <0x2>;
			reg-io-width = <0x4>;
			clocks = <0x2 0x2a>;
			resets = <0x2 0x33>;
			status = "okay";
			pinctrl-0 = <0x12>;
			pinctrl-names = "default";
		};

		i2c@01c2ac00 {
			compatible = "allwinner,sun6i-a31-i2c";
			reg = <0x1c2ac00 0x400>;
			interrupts = <0x0 0x6 0x4>;
			clocks = <0x2 0x26>;
			resets = <0x2 0x2e>;
			pinctrl-names = "default";
			pinctrl-0 = <0x13>;
			status = "okay";
			#address-cells = <0x1>;
			#size-cells = <0x0>;

			ns2009@48 {
				compatible = "nsiway,ns2009";
				reg = <0x48>;
			};
		};

		i2c@01c2b000 {
			compatible = "allwinner,sun6i-a31-i2c";
			reg = <0x1c2b000 0x400>;
			interrupts = <0x0 0x7 0x4>;
			clocks = <0x2 0x27>;
			resets = <0x2 0x2f>;
			status = "disabled";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		ethernet@1c30000 {
			compatible = "allwinner,sun8i-v3s-emac";
			syscon = <0x14>;
			reg = <0x1c30000 0x10000>;
			interrupts = <0x0 0x52 0x4>;
			interrupt-names = "macirq";
			resets = <0x2 0xc>;
			reset-names = "stmmaceth";
			clocks = <0x2 0x1a>;
			clock-names = "stmmaceth";
			phy-handle = <0x15>;
			phy-mode = "mii";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
			status = "okay";

			mdio {
				#address-cells = <0x1>;
				#size-cells = <0x0>;

				ethernet-phy@1 {
					compatible = "ethernet-phy-ieee802.3-c22";
					reg = <0x1>;
					clocks = <0x2 0x2b>;
					resets = <0x2 0x27>;
					phy-is-integrated;
					linux,phandle = <0x15>;
					phandle = <0x15>;
				};
			};
		};

		spi@1c68000 {
			compatible = "allwinner,sun8i-h3-spi";
			reg = <0x1c68000 0x1000>;
			interrupts = <0x0 0x41 0x4>;
			clocks = <0x2 0x1c 0x2 0x37>;
			clock-names = "ahb", "mod";
			pinctrl-names = "default";
			pinctrl-0 = <0x16>;
			resets = <0x2 0xf>;
			status = "disabled";
			#address-cells = <0x1>;
			#size-cells = <0x0>;
		};

		interrupt-controller@01c81000 {
			compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic";
			reg = <0x1c81000 0x1000 0x1c82000 0x1000 0x1c84000 0x2000 0x1c86000 0x2000>;
			interrupt-controller;
			#interrupt-cells = <0x3>;
			interrupts = <0x1 0x9 0xf04>;
			linux,phandle = <0x1>;
			phandle = <0x1>;
		};
	};

	ahci-5v {
		compatible = "regulator-fixed";
		regulator-name = "ahci-5v";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-boot-on;
		enable-active-high;
		gpio = <0xb 0x1 0x8 0x0>;
		status = "disabled";
	};

	usb0-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usb0-vbus";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
		enable-active-high;
		gpio = <0xb 0x1 0x9 0x0>;
		status = "disabled";
	};

	usb1-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usb1-vbus";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-boot-on;
		enable-active-high;
		gpio = <0xb 0x7 0x6 0x0>;
		status = "disabled";
	};

	usb2-vbus {
		compatible = "regulator-fixed";
		regulator-name = "usb2-vbus";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
		regulator-boot-on;
		enable-active-high;
		gpio = <0xb 0x7 0x3 0x0>;
		status = "disabled";
	};

	vcc3v0 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v0";
		regulator-min-microvolt = <0x2dc6c0>;
		regulator-max-microvolt = <0x2dc6c0>;
		linux,phandle = <0xe>;
		phandle = <0xe>;
	};

	vcc3v3 {
		compatible = "regulator-fixed";
		regulator-name = "vcc3v3";
		regulator-min-microvolt = <0x325aa0>;
		regulator-max-microvolt = <0x325aa0>;
		linux,phandle = <0x8>;
		phandle = <0x8>;
	};

	vcc5v0 {
		compatible = "regulator-fixed";
		regulator-name = "vcc5v0";
		regulator-min-microvolt = <0x4c4b40>;
		regulator-max-microvolt = <0x4c4b40>;
	};

	aliases {
		serial0 = "/soc/serial@01c28000";
		ethernet0 = "/soc/ethernet@1c30000";
	};

	leds {
		compatible = "gpio-leds";
		status = "disbaled";

		blue_led {
			label = "licheepi:blue:usr";
			gpios = <0xb 0x6 0x1 0x1>;
		};

		green_led {
			label = "licheepi:green:usr";
			gpios = <0xb 0x6 0x0 0x1>;
			default-state = "on";
		};

		red_led {
			label = "licheepi:red:usr";
			gpios = <0xb 0x6 0x2 0x1>;
		};
	};
};

离线

楼主 #3 2023-10-18 17:04:57

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

排查了可能的几种情况
1、uboot加载的dts不对,clk有信号,所以dts应该没问题,另外,tf卡只烧录了带dock的dtb
2、leds占用io,dts中已经disable掉leds配置
3、rtl8723ds需要上拉VBAT_EN引脚?原理图这个io是悬空的,不知道会不会有影响,已经上拉验证,并不影响

最近编辑记录 kemp (2023-10-18 22:35:15)

离线

楼主 #4 2023-10-18 22:38:48

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

焊接也测试过没有短路,没有虚焊。
_16976398563654.png

离线

#5 2023-10-18 22:52:04

哇酷小二
wechat微信:whycan_cn
所在地: 你猜
注册时间: 2020-04-22
已发帖子: 3,378
积分: 1902
个人网站

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

dts 里面 sdc1 okay了吗?





离线

#6 2023-10-19 00:12:24

4610
会员
注册时间: 2022-10-09
已发帖子: 83
积分: 56

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

驱动不对吧,
[    1.418684] mmc1: new high speed SDIO card at address 0001
看着是认卡了,看一下卡的ID是什么

rtl8723b的ID是024c:B723,
rtl8723d的ID是024c:D723/D724
编译时打开支持了吗?

最近编辑记录 4610 (2023-10-19 00:12:55)

离线

楼主 #7 2023-10-19 08:51:04

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

哇酷小二 说:

dts 里面 sdc1 okay了吗?

是的,DTS中已经设置为okay,从卡中读出DTB生成的DTS也能看到
&mmc1 {
    broken-cd;
    bus-width = <4>;
    vmmc-supply = <&reg_vcc3v3>;
    status = "okay";
};
同时,内核编译也已经打开依赖
CONFIG_WLAN=y
CONFIG_MMC=y
CONFIG_CFG80211=y

离线

楼主 #8 2023-10-19 08:54:55

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

4610 说:

驱动不对吧,
[    1.418684] mmc1: new high speed SDIO card at address 0001
看着是认卡了,看一下卡的ID是什么

rtl8723b的ID是024c:B723,
rtl8723d的ID是024c:D723/D724
编译时打开支持了吗?

MMC1读到的地址是0001,可以通过sudo blkid查看挂载的sd设备是吗?一般通过哪个指令查询呢,这块不太熟悉,感谢大佬支持
这里说的编译支持指的是dts和内核的mmc1和下面这些吗?
我dts打开了mmc1,然后占用PG口的leds已经disable
CONFIG_WLAN=y
CONFIG_MMC=y
CONFIG_CFG80211=y
CONFIG_RTL8723BS=y
还是有其他需要打开的?

最近编辑记录 kemp (2023-10-19 09:29:05)

离线

#9 2023-10-19 09:51:13

4610
会员
注册时间: 2022-10-09
已发帖子: 83
积分: 56

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

@kemp
螃蟹家不同尾缀字母就是不同芯片,驱动不兼容

编辑驱动的Makefile,不是linux的
CONFIG_RTL8723D = y


指的类似USB一样VIDPID来让驱动识别的,sdio卡也有,/sys下的哪个文件我忘记了

最近编辑记录 4610 (2023-10-19 10:03:02)

离线

楼主 #10 2023-10-19 10:28:58

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

4610 说:

@kemp https://whycan.com/viewtopic.php?id=10207
螃蟹家不同尾缀字母就是不同芯片,驱动不兼容

编辑驱动的Makefile,不是linux的
CONFIG_RTL8723D = y


指的类似USB一样VIDPID来让驱动识别的,sdio卡也有,/sys下的哪个文件我忘记了

好的,感谢。
我对比了下RTL8723BS和RTL8723DS,发现两个版本只是支持蓝牙的协议栈不一样,其它兼容,我再找找DS的固件和驱动看看,另外,我也买了几块BS的模组,等到了同步验证下。
同时,我计划把bus-width改为单线模式看看,不知道layout上面会不会影响到。

指令应该是这两条
~# ls /sys/bus/sdio/devices/             
~# cat /sys/bus/sdio/devices/mmcxxx

最近编辑记录 kemp (2023-10-19 10:30:44)

离线

#11 2023-10-19 21:01:33

4610
会员
注册时间: 2022-10-09
已发帖子: 83
积分: 56

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

@kemp

/sys/bus/[mmc|sdio]/devices/X:XXXX/
下的manfid与oemid

如果确定找不到RTL8723D的驱动想用RTL8723B源码尝试,
就在sdio_intf.c里强行加入上面ID

最近编辑记录 4610 (2023-10-19 21:06:41)

离线

楼主 #12 2023-10-19 22:06:38

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

4610 说:

@kemp

/sys/bus/[mmc|sdio]/devices/X:XXXX/
下的manfid与oemid

如果确定找不到RTL8723D的驱动想用RTL8723B源码尝试,
就在sdio_intf.c里强行加入上面ID

感谢大佬,果然是驱动的问题。
我下载了这个驱动加到内核中可以了,驱动源码如下:
https://github.com/lwfinger/rtl8723ds/tree/master

但是多了一个问题,一下子出来两个网卡
# ifconfig -a
wlan0     Link encap:Ethernet  HWaddr 34:75:63:28:56:4F
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan1     Link encap:Ethernet  HWaddr 36:75:63:28:56:4F
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

当然了,我单独启动wlan0是可以的,但是这个wlan1是哪里来的呢,奇怪了
# ping www.baidu.com
PING www.baidu.com (120.232.145.185): 56 data bytes
64 bytes from 120.232.145.185: seq=0 ttl=51 time=58.909 ms
64 bytes from 120.232.145.185: seq=1 ttl=51 time=35.932 ms

离线

#13 2023-10-19 22:32:41

4610
会员
注册时间: 2022-10-09
已发帖子: 83
积分: 56

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

@kemp

开了ap和sta共存了吧
配的 CONFIG_PLATFORM_ARM_SUNxI?
makefile里合适位置屏蔽掉 CONFIG_CONCURRENT_MODE 相关的

最近编辑记录 4610 (2023-10-19 22:36:11)

离线

楼主 #14 2023-10-19 23:17:39

kemp
会员
注册时间: 2023-10-10
已发帖子: 10
积分: 1

Re: V3S RTL8723DS WiFi初始化无错误但找不到wlan0问题-验证中

4610 说:

@kemp

开了ap和sta共存了吧
配的 CONFIG_PLATFORM_ARM_SUNxI?
makefile里合适位置屏蔽掉 CONFIG_CONCURRENT_MODE 相关的

是的,验证了下,的确是开了共存模式导致。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn