I've updated to the latest NetworkManager (0.4-31.cvs20050616). Looking more at what's going on, it seems to be a problem setting the ESSID. Indeed, I get an error from iwconfig trying to set the ESSID when the network device is already up. However, when the device is down and I do an ifup, the ifup-wireless script is able to set the ESSID without a problem. I suspect being able to set the ESSID is a question of the state of the device, and in this case, NetworkManager is not putting the device into the appropriate state before setting it. Any ideas?