Skip to content

Cannot connect use example #25

@hrl10

Description

@hrl10

Hello,
I have try light_eth and light_wifi example with esp32c6,and I cannot connect (use iOS Home)
I asked ai for this,ai helped me to change the code in netif.rs and that make light_eth to work(light_wifi still not)
Hope that can provide a inspiration for how to fix it

fn load_from_info(&mut self, l2_connected: bool, info: &NetifInfo<'_>) -> bool {
        let hw_addr: &[u8] = info.hw_addr;
        let ipv4_addr = utils::info_ipv4_addr(info);
        let ipv6_addr = utils::info_ipv6_addr(info);
        let operational = l2_connected;

        // If already operational, only allow downgrade if l2 is actually disconnected
        let effective_operational = if self.operational && !l2_connected {
            false
        } else if self.operational {
            true // Stay operational
        } else {
            operational
        };

        let effective_ipv4 =
            if self.operational && effective_operational && ipv4_addr.is_unspecified() {
                self.ipv4_addr // Keep existing
            } else {
                ipv4_addr
            };

        let effective_ipv6 =
            if self.operational && effective_operational && ipv6_addr.is_unspecified() {
                self.ipv6_addr // Keep existing
            } else {
                ipv6_addr
            };

        let changed = self.name != info.name
            || self.operational != effective_operational
            || self.hw_addr != hw_addr
            || self.ipv4_addr != effective_ipv4
            || self.ipv6_addr != effective_ipv6
            || self.netif_type != info.netif_type
            || self.netif_index != info.netif_index;

        if changed {
            self.name = info.name.try_into().unwrap();
            self.operational = effective_operational;
            self.hw_addr = hw_addr.try_into().unwrap();
            self.ipv4_addr = effective_ipv4;
            self.ipv6_addr = effective_ipv6;
            self.netif_type = info.netif_type;
            self.netif_index = info.netif_index;
        }
        
        changed
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions