无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 4064|回复: 33
打印 上一主题 下一主题

[已解决] 求教:无线驱动安装及联网状态判断问题

[复制链接]
跳转到指定楼层
1#
发表于 2022-5-7 11:29:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lhc0688 于 2022-5-9 00:26 编辑

想法是:通过判断无线驱动安装情况,来执行扩展驱动安装;并根据无线联网状态,运行自动连接(wireless.exe);

几个技术问题想咨询坛友:

1、如何判断当前无线驱动是否正常安装?或当前无线状态是否可用?

2、如需用 Drvindex.exe 安装扩展驱动,如何判断是否安装成功?

3、执行 EXEC Drvindex.exe 的一个疑问:测试发现如果成功安装了驱动,会自动删掉对应的驱动包文件,这个不知是 Drvindex.exe 默认的,还是用了参数 (比如 -t)?

以上问题,恳请高手不吝赐教,感谢!
2#
发表于 2022-5-7 11:45:50 | 只看该作者
//这里写安装驱动命令,根据自己的驱动包路径和驱动安装工具自己写
WAIT 555
//最好等待一下
ADSL-wlan ,,query,无线网卡
FIND ! $%无线网卡%=,
{*
//无线网卡已经驱动,这里写无线连接命令
ADSL-wlan 无线名称,无线密码
}

点评

谢谢826773297老师,每次都得到您第一时间指点,感激不尽! 我现在测试下先。  详情 回复 发表于 2022-5-7 11:55
回复

使用道具 举报

3#
 楼主| 发表于 2022-5-7 11:49:51 | 只看该作者
以上想法是基于PE已经内置了微软基本无线驱动,内置驱动不成功情况下,再安装外置扩展驱动。不知这样的想法是否合理、有必要?请指正。
回复

使用道具 举报

4#
发表于 2022-5-7 11:55:31 | 只看该作者
ADSL-wlan ,,query,无线网卡
FIND $%无线网卡%=,
{*
//没安装无线网卡
//这里写安装驱动命令,根据自己的驱动包路径和驱动安装工具自己写
WAIT 555
//最好等待一下
ADSL-wlan ,,query,无线网卡
FIND ! $%无线网卡%=,
{*
//无线网卡已经驱动,这里写无线连接命令
ADSL-wlan 无线名称,无线密码
}
}!
{*
//已安装无线网卡,执行连接wifi命令
ADSL-wlan 无线名称,无线密码
}
回复

使用道具 举报

5#
 楼主| 发表于 2022-5-7 11:55:42 | 只看该作者
826773297 发表于 2022-5-7 11:45
//这里写安装驱动命令,根据自己的驱动包路径和驱动安装工具自己写
WAIT 555
//最好等待一下

谢谢826773297老师,每次都得到您第一时间指点,感激不尽!
我现在测试下先。
回复

使用道具 举报

6#
发表于 2022-5-7 12:03:08 | 只看该作者
我印象中好像配置文件中好像有这么一条://FILE X:\Program Files\DeviceDriver\WLAN.7z,不运行就不会删除了。

点评

我试了下,好像是这个命令引起的,我搞混了,kuerPE里没用这个命令,应该是测试别的pe时候有这种情况(驱动内置,安装完毕后自动删除,这样更合理;外置不用删除)  发表于 2022-5-7 13:37
这个PE中好像是通过调用 LOAD Drv.ini 执行安装的: Drv.ini 内执行:EXEC =Drvindex.exe -h -t -hide  发表于 2022-5-7 12:31
回复

使用道具 举报

7#
 楼主| 发表于 2022-5-7 12:12:48 | 只看该作者
//启动网络服务
EXEC -hide "%ProgramFiles%\WinXShell\WinXShell.exe" -luacode "wxsUI('UI_WIFI',nil,' -theme blue -hidewindow')"
REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0
EXEC !SC Start netprofm
SERV Wlansvc

//清除桌面多余文件
TEAM FILE %public%\Desktop\desktop.ini| FILE %Desktop%\desktop.ini

//装入PESOFT.INI
LOAD %ProgramFiles%\PETOOLS.INI

kill explorer.exe

//检测无线网络状态并根据返回结果加载外置扩展驱动(放在任意盘符根目录下的 PETOOLS\DeviceDriver\内)
ADSL-wlan ,,query,无线网卡
FIND $%无线网卡%=,
{*
//没安装无线网卡,则查找并安装外置扩展驱动
FORX !\PETOOLS\DeviceDriver\Drv.ini,Mydrv,1,LOAD %Mydrv%

//最好等待一下
WAIT 555
}

//尝试启动 wifi 连接器
EXEC !%ProgramFiles%\SOFT\wireless.exe

// ------------------------ Drv.ini 内执行:EXEC =Drvindex.exe -h -t -hide

在pecmd.ini中这样写,看是不是合理。我现在启动测试看下。
回复

使用道具 举报

8#
 楼主| 发表于 2022-5-7 12:19:34 | 只看该作者
实测结果,总是会执行外部扩展驱动,我已经在检测前也加了WAIT 555,不知道是判断不准,还是等待时间不够?这个有没办法测试?

点评

你把代码分离出来,进桌面后单独执行试一下,可能是刚进桌面还没装好驱动  详情 回复 发表于 2022-5-7 12:31
用的是kuer的win10PE,这个PE已经有无线驱动,启动后会正常联网,这样的话判断结果应该是不需安装外置驱动才对。  发表于 2022-5-7 12:21
回复

使用道具 举报

9#
发表于 2022-5-7 12:31:47 | 只看该作者
lhc0688 发表于 2022-5-7 12:19
实测结果,总是会执行外部扩展驱动,我已经在检测前也加了WAIT 555,不知道是判断不准,还是等待时间不够? ...

你把代码分离出来,进桌面后单独执行试一下,可能是刚进桌面还没装好驱动

点评

哦,好的,我用这种方法试试看。  发表于 2022-5-7 12:32
回复

使用道具 举报

10#
发表于 2022-5-7 12:40:58 | 只看该作者
不用判断驱动是安装正常  使用这个安装驱动 然后判断有无无线网卡 有就调用你那个程序
https://github.com/EdgelessPE/DriverIndexer

点评

好的,谢谢!我也研究下。  发表于 2022-5-7 13:12
回复

使用道具 举报

11#
 楼主| 发表于 2022-5-7 12:42:11 | 只看该作者
在pecmd里测试,第一遍仍安装扩展,第二遍不安装;

网络图标出现那个地球状态,就不安装,这样看来应该是网络状态未完成导致。

这样的话,那这种方法确实存在问题:须等待较长时间(而且不确定),这样反倒比不判断直接安装时间更长。

点评

好的,我觉得应该可以把这段代码放在最后,并且多等待一会儿,这样的话,使用者不会感觉到。  详情 回复 发表于 2022-5-7 13:10
//等待三秒再判断 WAIT 3000 ADSL-wlan ,,query,无线网卡 FIND $%无线网卡%=, {* //没安装无线网卡,则查找并安装外置扩展驱动 FORX !\PETOOLS\DeviceDriver\Drv.ini,Mydrv,1,LOAD %Mydrv% //最好等待一下  详情 回复 发表于 2022-5-7 12:46
回复

使用道具 举报

12#
 楼主| 发表于 2022-5-7 12:43:16 | 只看该作者
能否不去检测网络状态,而是直接检测驱动是否已安装呢?

点评

我这个代码是判断无线网卡是否存在,如果不存在肯定是没安装驱动或者没安装完全设备没就绪  详情 回复 发表于 2022-5-7 12:48
回复

使用道具 举报

13#
发表于 2022-5-7 12:46:42 | 只看该作者
lhc0688 发表于 2022-5-7 12:42
在pecmd里测试,第一遍仍安装扩展,第二遍不安装;

网络图标出现那个地球状态,就不安装,这样看来应该 ...

//等待三秒再判断
WAIT 3000
ADSL-wlan ,,query,无线网卡
FIND $%无线网卡%=,
{*
//没安装无线网卡,则查找并安装外置扩展驱动
FORX !\PETOOLS\DeviceDriver\Drv.ini,Mydrv,1,LOAD %Mydrv%

//最好等待一下
WAIT 555
}

//尝试启动 wifi 连接器
EXEC !%ProgramFiles%\SOFT\wireless.exe

// ------------------------ Drv.ini 内执行:EXEC =Drvindex.exe -h -t -hide

点评

把这段代码写到pecmd最后,确保所有工作都完成再判断,无线都没驱动你就开始判断  详情 回复 发表于 2022-5-7 12:51
回复

使用道具 举报

14#
发表于 2022-5-7 12:48:36 | 只看该作者
lhc0688 发表于 2022-5-7 12:43
能否不去检测网络状态,而是直接检测驱动是否已安装呢?

我这个代码是判断无线网卡是否存在,如果不存在肯定是没安装驱动或者没安装完全设备没就绪
回复

使用道具 举报

15#
发表于 2022-5-7 12:51:42 | 只看该作者
826773297 发表于 2022-5-7 12:46
//等待三秒再判断
WAIT 3000
ADSL-wlan ,,query,无线网卡

把这段代码写到pecmd最后,确保所有工作都完成再判断,无线都没驱动你就开始判断
回复

使用道具 举报

16#
发表于 2022-5-7 12:52:29 | 只看该作者
这种代码都是简简单单,不知道为什么到你这有这么多问题,随便写就行

点评

测试可以了,问题好像是需要先运行一次wifi连接程序: 启动 wifi 连接器 EXEC !%ProgramFiles%\SOFT\wireless.exe //最后检测无线网络是否已正常驱动,如未驱动,则尝试搜索安装外置驱动 WAIT 5000 ADSL-wl  详情 回复 发表于 2022-5-7 13:30
惭愧!  发表于 2022-5-7 13:12
回复

使用道具 举报

17#
 楼主| 发表于 2022-5-7 13:10:08 | 只看该作者
lhc0688 发表于 2022-5-7 12:42
在pecmd里测试,第一遍仍安装扩展,第二遍不安装;

网络图标出现那个地球状态,就不安装,这样看来应该 ...

好的,我觉得应该可以把这段代码放在最后,并且多等待一会儿,这样的话,使用者不会感觉到。

点评

单独一个脚本,不等待执行。 后台自动循环识别驱动就行了。不影响主流程。  详情 回复 发表于 2022-5-7 13:15
回复

使用道具 举报

18#
发表于 2022-5-7 13:15:31 | 只看该作者
lhc0688 发表于 2022-5-7 13:10
好的,我觉得应该可以把这段代码放在最后,并且多等待一会儿,这样的话,使用者不会感觉到。

单独一个脚本,不等待执行。
后台自动循环识别驱动就行了。不影响主流程。

点评

这个思路应该更好,我先把基本功能调试通,然后试试看能不能写个。  发表于 2022-5-7 13:32
回复

使用道具 举报

19#
 楼主| 发表于 2022-5-7 13:30:00 | 只看该作者
826773297 发表于 2022-5-7 12:52
这种代码都是简简单单,不知道为什么到你这有这么多问题,随便写就行

测试可以了,问题好像是需要先运行一次wifi连接程序:

启动 wifi 连接器
EXEC !%ProgramFiles%\SOFT\wireless.exe

//最后检测无线网络是否已正常驱动,如未驱动,则尝试搜索安装外置驱动
WAIT 5000
ADSL-wlan ,,query,无线网卡
FIND $%无线网卡%=,
{*
//未驱动,查找并安装外置扩展驱动
FORX !\PETOOLS\DeviceDriver\Drv.ini,Mydrv,1,LOAD %Mydrv%
//重新尝试启动 wifi 连接器
EXEC !%ProgramFiles%\SOFT\wireless.exe
}

点评

那就是pecmd前面没启动无线服务导致的,加一行命令: SERV WLANSVC  详情 回复 发表于 2022-5-7 13:34
回复

使用道具 举报

20#
发表于 2022-5-7 13:34:51 | 只看该作者
lhc0688 发表于 2022-5-7 13:30
测试可以了,问题好像是需要先运行一次wifi连接程序:

启动 wifi 连接器

那就是pecmd前面没启动无线服务导致的,加一行命令:
SERV WLANSVC

点评

//启动网络服务 EXEC -hide "%ProgramFiles%\WinXShell\WinXShell.exe" -luacode "wxsUI('UI_WIFI',nil,' -theme blue -hidewindow')" REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0 EXEC !SC Start netprofm  详情 回复 发表于 2022-5-7 13:49
回复

使用道具 举报

21#
 楼主| 发表于 2022-5-7 13:49:30 | 只看该作者
826773297 发表于 2022-5-7 13:34
那就是pecmd前面没启动无线服务导致的,加一行命令:
SERV WLANSVC

//启动网络服务
EXEC -hide "%ProgramFiles%\WinXShell\WinXShell.exe" -luacode "wxsUI('UI_WIFI',nil,' -theme blue -hidewindow')"
REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#0
EXEC !SC Start netprofm
SERV Wlansvc
-------------------------
前面已经有这个命令,可能还是等待时间不足吧。
回复

使用道具 举报

22#
 楼主| 发表于 2022-5-7 14:19:30 | 只看该作者
真是惭愧,又遇到奇怪问题:

上面检测判断代码已经正常,FORX !\PETOOLS\DeviceDriver\Drv.ini,Mydrv,1,LOAD %Mydrv% 这段代码也能看到已经执行安装扩展驱动,但wifi状态仍不能用;换手动直接运行Drvindex.exe马上就可以。

点评

新版Drvindex.exe已经内置WIFI自动连接,无线网卡正常驱动后就自动连接了。  详情 回复 发表于 2022-5-8 09:14
自己解决了,加参数 -b  发表于 2022-5-7 16:12
回复

使用道具 举报

23#
发表于 2022-5-8 09:14:25 来自手机 | 只看该作者
lhc0688 发表于 2022-5-7 14:19
真是惭愧,又遇到奇怪问题:

上面检测判断代码已经正常,FORX !\PETOOLS\DeviceDriver\Drv.ini,Mydrv,1, ...

新版Drvindex.exe已经内置WIFI自动连接,无线网卡正常驱动后就自动连接了。

点评

谢谢Lightning指点,我已经下了新版的,非常好用!  发表于 2022-5-8 12:52
回复

使用道具 举报

24#
发表于 2022-7-17 21:46:58 | 只看该作者
谢谢分享,学习中
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-16 01:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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