硬件平台:micro2440核心板,wince5操作系统,winxim公司的WMC-400GRS usb接口wifi模块,驱动已经编到内核中了,下载后,可以直接识别,但是需要重新插拔一下wifi模块才能识别。
咨询了winxim,他们曾经遇到过类似的问题,增加了一行代码,但是找不到在哪里增加,请帮忙解决。谢谢了
wifi模块对应的驱动见附件
winxim公司回复:
////////////////////////////////////////////////////////////////
您好,请参照以下进行修改:
修改Ingenic\common\CSP\JZ47\DRIVERS\Netcard\Jz47mac下的miniport.c文件,在1109行修改MediaWatchdog函数,增加pAdapter->mediaState = NdisMediaStateConnected ;一条语句即可
VOID MediaWatchdog(
IN PVOID Specific1, IN PVOID hContext, IN PVOID Specific2, IN PVOID Specific3
)
{
MINIPORT_ADAPTER* pAdapter = (MINIPORT_ADAPTER*)hContext;
NDIS_STATUS status;
//增加的一行代码
pAdapter->mediaState = NdisMediaStateConnected ;
if (pAdapter->mediaState == NdisMediaStateConnected)
{
status = PhyCheck(pAdapter);
if (status != NDIS_STATUS_SUCCESS)
{
pAdapter->mediaState = NdisMediaStateDisconnected;
NdisMIndicateStatus( pAdapter->hAdapter, NDIS_STATUS_MEDIA_DISCONNECT, NULL, 0 );
pAdapter->carrierLostCounter++;
}
}
else
{
status = PhySelect(pAdapter);
if (status == NDIS_STATUS_SUCCESS)
{
pAdapter->mediaState = NdisMediaStateConnected;
NdisMIndicateStatus( pAdapter->hAdapter, NDIS_STATUS_MEDIA_CONNECT, NULL, 0 );
}
}
}
修改完后,先到Ingenic\common\CSP\JZ47\DRIVERS\Netcard\Jz47mac目录,build该驱动,然后到Ingenic\Src\Drivers\Netcard\Jz47mac目录,build –c网口驱动,注意一定要 –c ,重新生成image文件
////////////////////////////////////////////////////////////////