diff --git a/hidrpc.go b/hidrpc.go index ebe03daa..f4fbceb4 100644 --- a/hidrpc.go +++ b/hidrpc.go @@ -189,12 +189,13 @@ func handleHidRPCKeyboardInput(message hidrpc.Message) error { func reportHidRPC(params any, session *Session) { if session == nil { - logger.Warn().Msg("session is nil, skipping reportHidRPC") + logger.Debug().Msg("session is nil, skipping reportHidRPC") return } if !session.hidRPCAvailable || session.HidChannel == nil { - logger.Warn(). + // Expected during WebRTC handshake before HID channel is ready + logger.Debug(). Bool("hidRPCAvailable", session.hidRPCAvailable). Bool("HidChannel", session.HidChannel != nil). Msg("HID RPC is not available, skipping reportHidRPC") diff --git a/pkg/nmlite/link/manager.go b/pkg/nmlite/link/manager.go index fba190e2..1a850aab 100644 --- a/pkg/nmlite/link/manager.go +++ b/pkg/nmlite/link/manager.go @@ -197,7 +197,13 @@ func (nm *NetlinkManager) EnsureInterfaceUpWithTimeout(ctx context.Context, ifac l.Info().Msg("interface is up") return link, nil } - l.Warn().Msg("interface is still down, retrying") + // Use Info for first 5 attempts (expected during boot while PHY negotiates), + // then Warn for persistent failures + if attempt < 5 { + l.Info().Msg("waiting for interface to come up") + } else { + l.Warn().Msg("interface is still down, retrying") + } select { case <-time.After(500 * time.Millisecond): diff --git a/pkg/nmlite/udhcpc/udhcpc.go b/pkg/nmlite/udhcpc/udhcpc.go index 19ce2cb5..631d1bb5 100644 --- a/pkg/nmlite/udhcpc/udhcpc.go +++ b/pkg/nmlite/udhcpc/udhcpc.go @@ -179,7 +179,8 @@ func (c *DHCPClient) loadLeaseFile() error { leaseExpiry, err := lease.SetLeaseExpiry() if err != nil { - c.logger.Error().Err(err).Msg("failed to get dhcp lease expiry") + // Non-fatal: lease still works, we just can't calculate expiry time + c.logger.Debug().Err(err).Msg("could not calculate dhcp lease expiry") } else { expiresIn := time.Until(leaseExpiry) c.logger.Info().