On my ZoomAir-branded Intersil PRISM2 cards, if you try to set the
operating mode to HostAP, the card will lock up indefinitely (but the wi(4) driver can recover if you eject the card). The problem is that the card needs to be "reset" in a way before you even change the media to hostap. In practice this isn't as noticeable because you probably do some operation beforehand which prevents the lock-up before you enable hostap mode. e.g.: "ifconfig wi0 up media autoselect mediaopt hostap" will lock up (if you just inserted the card). "ifconfig wi0 up ssid foo media autoselect mediaopt hostap" won't lock up.
This commit is contained in:
parent
bcf123b3f6
commit
86e011b3e8
@ -655,6 +655,9 @@ wi_init(void *arg)
|
|||||||
wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC);
|
wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_ADHOC);
|
||||||
break;
|
break;
|
||||||
case IEEE80211_M_HOSTAP:
|
case IEEE80211_M_HOSTAP:
|
||||||
|
/* The card can lock up if we don't toggle it first. */
|
||||||
|
wi_cmd(sc, WI_CMD_DISABLE | WI_PORT0, 0, 0, 0);
|
||||||
|
wi_cmd(sc, WI_CMD_ENABLE | WI_PORT0, 0, 0, 0);
|
||||||
wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_HOSTAP);
|
wi_write_val(sc, WI_RID_PORTTYPE, WI_PORTTYPE_HOSTAP);
|
||||||
break;
|
break;
|
||||||
case IEEE80211_M_MONITOR:
|
case IEEE80211_M_MONITOR:
|
||||||
|
Loading…
Reference in New Issue
Block a user