查看: 7015|回复: 8

[求助] rt1064 如何使用网卡魔术包唤醒

[复制链接]

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
发表于 2021-4-27 13:35:38 | 显示全部楼层 |阅读模式
     s_targetPowerMode = LPM_PowerModeSuspend;
        if (s_targetPowerMode <= LPM_PowerModeEnd)
        {
            /* If could not set the target power mode, loop continue. */
            if (!APP_CheckPowerMode(s_curRunMode, s_targetPowerMode))
            {
                continue;
            }
                       
                        ENET_EnableInterrupts(ENET,ENET_ERR_INTERRUPT|kENET_WakeupInterrupt );                                //使能错误中断 唤醒中断
                        NVIC_ClearPendingIRQ(ENET_IRQn);                //唤醒源的设置
                        NVIC_EnableIRQ(ENET_IRQn);
                        EnableIRQ(ENET_IRQn);                                       
                        LPM_EnableWakeupSource(ENET_IRQn);                //使能唤醒源
                        ENET_EnableSleepMode(ENET,1);

                        ENET->ECR |= 0X02;        //使能网卡
                        //macsleep111();
            APP_PowerPreSwitchHook(s_targetPowerMode);
            APP_PowerModeSwitch(s_targetPowerMode);
            APP_PowerPostSwitchHook(s_targetPowerMode);
                       
//                        ENET_EnableSleepMode(ENET,0);// MAC退出休眠
        }
        DEBUG_MSG("\r\nNext loop\r\n");
    }



SDK使用2.9
具体设置如上,求解如何使用网络模式包唤醒,MAC进入睡眠模式后,发送MAGIC PACKET没有反应,

11111111111111111.png
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24866
最后登录
2025-7-18
发表于 2021-4-27 13:54:45 | 显示全部楼层
楼主你好!
请问你的测试平台是官方的板子还是你自己的板子?
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
 楼主| 发表于 2021-4-27 14:00:43 | 显示全部楼层
小恩GG 发表于 2021-4-27 13:54
楼主你好!
请问你的测试平台是官方的板子还是你自己的板子?

自己的板子呢
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
 楼主| 发表于 2021-4-27 14:04:48 | 显示全部楼层
小恩GG 发表于 2021-4-27 13:54
楼主你好!
请问你的测试平台是官方的板子还是你自己的板子?

发送魔法包后 EIR[WAKEUP]没有响应
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24866
最后登录
2025-7-18
发表于 2021-4-28 15:28:57 | 显示全部楼层
楼主你好!
你现在使用的代码是SDK的哪个工程?然后具体修改代码是什么?这样我这边好找个时间测试下。
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
 楼主| 发表于 2021-4-28 16:45:23 | 显示全部楼层
本帖最后由 lving 于 2021-4-28 16:47 编辑

11111111

lwip_httpsrv_bm.rar

1.57 KB, 下载次数: 0, 下载积分: 威望 1

回复

使用道具 举报

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
 楼主| 发表于 2021-4-28 16:47:19 | 显示全部楼层
小恩GG 发表于 2021-4-27 13:54
楼主你好!
请问你的测试平台是官方的板子还是你自己的板子?

用飞凌1061开发板测试了一下,先使用MAC进入睡眠,然后发送网络魔法包同样唤不醒
SDK_2_5_0_EVKB_IMXRT1061\boards\evkmimxrt1060\lwip_examples\lwip_httpsrv\bm\mdk
int main(void)
{
    struct netif fsl_netif0;
    ip4_addr_t fsl_netif0_ipaddr, fsl_netif0_netmask, fsl_netif0_gw;
    ethernetif_config_t fsl_enet_config0 = {
        .phyAddress = EXAMPLE_PHY_ADDRESS,
        .clockName = EXAMPLE_CLOCK_NAME,
        .macAddress = configMAC_ADDR,
    };

    gpio_pin_config_t gpio_config = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode};

    BOARD_ConfigMPU();
    BOARD_InitPins();
    BOARD_BootClockRUN();
    BOARD_InitDebugConsole();
    BOARD_InitModuleClock();

    IOMUXC_EnableMode(IOMUXC_GPR, kIOMUXC_GPR_ENET1TxClkOutputDir, true);

//    GPIO_PinInit(GPIO1, 9, &gpio_config);
//    GPIO_PinInit(GPIO1, 10, &gpio_config);
//    /* pull up the ENET_INT before RESET. */
//    GPIO_WritePinOutput(GPIO1, 10, 1);r
//    GPIO_WritePinOutput(GPIO1, 9, 0);
//    delay();
//    GPIO_WritePinOutput(GPIO1, 9, 1);
        GPIO_PinInit(GPIO1, 2, &gpio_config);
    GPIO_PinInit(GPIO1, 10, &gpio_config);
    /* pull up the ENET_INT before RESET. */
    GPIO_WritePinOutput(GPIO1, 10, 1);
    GPIO_WritePinOutput(GPIO1, 2, 0);
    delay();
    GPIO_WritePinOutput(GPIO1, 2, 1);

    time_init();

    IP4_ADDR(&fsl_netif0_ipaddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3);
    IP4_ADDR(&fsl_netif0_netmask, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3);
    IP4_ADDR(&fsl_netif0_gw, configGW_ADDR0, configGW_ADDR1, configGW_ADDR2, configGW_ADDR3);

    lwip_init();

    netif_add(&fsl_netif0, &fsl_netif0_ipaddr, &fsl_netif0_netmask, &fsl_netif0_gw,
              &fsl_enet_config0, ethernetif0_init, ethernet_input);
    netif_set_default(&fsl_netif0);
    netif_set_up(&fsl_netif0);

    httpd_init();

    PRINTF("\r\n************************************************\r\n");
    PRINTF(" HTTP Server example\r\n");
    PRINTF("************************************************\r\n");
    PRINTF(" IPv4 Address     : %u.%u.%u.%u\r\n", ((u8_t *)&fsl_netif0_ipaddr)[0], ((u8_t *)&fsl_netif0_ipaddr)[1],
           ((u8_t *)&fsl_netif0_ipaddr)[2], ((u8_t *)&fsl_netif0_ipaddr)[3]);
    PRINTF(" IPv4 Subnet mask : %u.%u.%u.%u\r\n", ((u8_t *)&fsl_netif0_netmask)[0], ((u8_t *)&fsl_netif0_netmask)[1],
           ((u8_t *)&fsl_netif0_netmask)[2], ((u8_t *)&fsl_netif0_netmask)[3]);
    PRINTF(" IPv4 Gateway     : %u.%u.%u.%u\r\n", ((u8_t *)&fsl_netif0_gw)[0], ((u8_t *)&fsl_netif0_gw)[1],
           ((u8_t *)&fsl_netif0_gw)[2], ((u8_t *)&fsl_netif0_gw)[3]);
    PRINTF("************************************************\r\n");

        PRINTF("MAC_add:%02x %02x %02x %02x %02x %02x \n",fsl_netif0.hwaddr[0],fsl_netif0.hwaddr[1],fsl_netif0.hwaddr[2],fsl_netif0.hwaddr[3], fsl_netif0.hwaddr[4],fsl_netif0.hwaddr[5]);
        
ENET_EnableSleepMode(ENET,1);  //使MAC进入休眠

    while (1)
    {
        ethernetif_input(&fsl_netif0);
        sys_check_timeouts();
    }
}
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
 楼主| 发表于 2021-5-8 17:29:57 | 显示全部楼层
lving 发表于 2021-4-28 16:47
用飞凌1061开发板测试了一下,先使用MAC进入睡眠,然后发送网络魔法包同样唤不醒
SDK_2_5_0_EVKB_IMXRT10 ...

测试好了吗???
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

18

帖子

0

注册会员

Rank: 2

积分
119
最后登录
2022-1-26
 楼主| 发表于 2021-5-8 17:30:31 | 显示全部楼层
小恩GG 发表于 2021-4-28 15:28
楼主你好!
你现在使用的代码是SDK的哪个工程?然后具体修改代码是什么?这样我这边好找个时间测试下。 ...

测试好了吗
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-19 12:44 , Processed in 0.105032 second(s), 28 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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