#4616 NORM Update.: Mesh doesn't resume from suspend on reciept of multicast packets

Zarro Boogs per Child bugtracker at laptop.org
Wed Feb 20 06:26:38 EST 2008


#4616: Mesh doesn't resume from suspend on reciept of multicast packets
----------------------------------+-----------------------------------------
  Reporter:  gnu                  |       Owner:  cjb                              
      Type:  defect               |      Status:  new                              
  Priority:  normal               |   Milestone:  Update.1                         
 Component:  power manager (OHM)  |     Version:  Development build as of this date
Resolution:                       |    Keywords:                                   
  Verified:  0                    |    Blocking:                                   
 Blockedby:                       |  
----------------------------------+-----------------------------------------

Comment(by gnu):

 Replying to [comment:20 dwmw2]:
 > I'm not sure if that makes it wake on _all_ multicast packets, or only
 the ones which it was configured to listen to with the
 CMD_MAC_MULTICAST_ADR command.

 I just tested it in update.2-691.  After I run "ethtool -s eth0 wol um",
 it works correctly, only awakening the host when a multicast packet
 arrives which the kernel has indicated an interest in.  I tested it with
 various link-local multicast address.  No wakey if the address isn't in
 the recipient's "ip maddr" list.  Wakes promptly (but drops the wakeup
 packet) if the address IS in the recipient's "ip maddr" list.

 The default "wol" setting is "u", meaning to wake only on unicast packets.
 This is defined in the kernel in liberats/if_usb.c:
 if_usb_setup_firmware().  It could either be changed there, or be changed
 by invoking ethtool later (perhaps in an rc script, or from ohm).  Best to
 fix it in the driver, rather than require startup scripts to reconfigure
 it, I think.  Proposed patch:

 -          lbs_host_sleep_cfg(priv, EHS_WAKE_ON_UNICAST_DATA);

 +          lbs_host_sleep_cfg(priv,
 EHS_WAKE_ON_UNICAST_DATA|EHS_WAKE_ON_MULTICAST_DATA);

-- 
Ticket URL: <http://dev.laptop.org/ticket/4616#comment:22>
One Laptop Per Child <http://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list