Hi Dan,<br><br>In my specific customer driver Start() starts the Radio and Stop() stops it saving power.<br>Unfortunately the driver itself is not written in the way when Start() / Stop() will be called through &quot;standard&quot; IOCTL, so neither ifconfig nor iwconfig will be able to call it.<br>
<br>I can add wifi_ioctl utility that will call IOCTLs but then I&#39;ll have 3 utilities:<br>wpa_cli (kind of), wpa_supplicant, wifi_ioctl - and I think to have only 2 is a reasonable will...<br><br>Thanks,<br><br>Dmitry<br>
<br><div class="gmail_quote">On Fri, Mar 7, 2008 at 2:33 PM, Dan Williams &lt;<a href="mailto:dcbw@redhat.com">dcbw@redhat.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Fri, 2008-03-07 at 12:21 -0800, Dmitry Shmidt wrote:<br>
&gt; I think there are both driver-specific and &quot;generic&quot; commands.<br>
&gt; From &quot;Generic&quot; perspective I would say that Start/Stop commands will<br>
&gt; be useful.<br>
<br>
</div>Describe start/stop more please... &nbsp;start and stop are &quot;ifconfig xxx up&quot;<br>
and &quot;ifconfig xxx down&quot;. &nbsp;No more, no less.<br>
<div class="Ih2E3d"><br>
&gt; Let&#39;s assume you want to save power on turn off WiFi if you are<br>
&gt; temporarily not using it.<br>
<br>
</div>If you&#39;re not using the wifi, either flip the killswitch, or &quot;ifconfig<br>
xxx down&quot;, and the driver should automatically turn off the RF power.<br>
Not all drivers work this way, but that&#39;s a bug.<br>
<br>
Custom commands really, really need to be on a case-by-case basis, if at<br>
all. &nbsp;I realize that WEXT doesn&#39;t handle them very well, but if we just<br>
allow any old custom commands we get right back into the horrible,<br>
horrible situation of 2 years ago where every single driver had a<br>
different command set and you had to have special cases for every single<br>
one.<br>
<font color="#888888"><br>
Dan<br>
</font><div><div></div><div class="Wj3C7c"><br>
&gt; init/deinit are not useful for this purpose.<br>
&gt;<br>
&gt; I can imagine driver specific commands as well, but the ability to<br>
&gt; pass any command will solve this issue.<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Dmitry<br>
&gt;<br>
&gt; On Fri, Mar 7, 2008 at 11:41 AM, Jouni Malinen &lt;<a href="mailto:j@w1.fi">j@w1.fi</a>&gt; wrote:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; On Fri, Mar 07, 2008 at 11:26:28AM -0800, Dmitry Shmidt wrote:<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; I need to be able to call driver specific IOCTL (commands)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; from control<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; application.<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; Would you be able to describe what kind of functionality this<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; is used<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; for? Are these truly driver specific or could there be more<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; generic use<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; for them?<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; It is possible to call IOCTL directly, but I think it will<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; be more<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; &quot;architecturally&quot; correct to do this through supplicant<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; interface.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; It was not a big deal to add additional command processing<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; to ctrl_iface.c<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; and additional entry to struct wpa_driver_ops, that will<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; process command and pass it to the driver.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Does it seem Ok ? Am I missing something ?<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; I would assume this depends on what the exact functionality<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; would be. I<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; could imagine some driver interaction to be perfectly<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; reasonable to do<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; directly from an external application at least when the<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; operations are<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; completely independent from the normal supplicant<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; functionality (e.g.,<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; WMM configuration) while some operations are likely to fit<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; better with<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; wpa_supplicant talking to the driver in order to avoid<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; conflicts with<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; other wpa_supplicant-initiated commands.<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; As far as the source code change itself is concerned, yes, I<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; would<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; expect that an additional command in ctrl_iface.c and a<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; handler function<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; in struct wpa_driver_ops would be the cleanest way of doing<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; this for<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; driver specific changes.<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; --<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; Jouni Malinen &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;PGP<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; id EFC895FA<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; _______________________________________________<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; HostAP mailing list<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; <a href="mailto:HostAP@lists.shmoo.com">HostAP@lists.shmoo.com</a><br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://lists.shmoo.com/mailman/listinfo/hostap" target="_blank">http://lists.shmoo.com/mailman/listinfo/hostap</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; HostAP mailing list<br>
&gt; <a href="mailto:HostAP@lists.shmoo.com">HostAP@lists.shmoo.com</a><br>
&gt; <a href="http://lists.shmoo.com/mailman/listinfo/hostap" target="_blank">http://lists.shmoo.com/mailman/listinfo/hostap</a><br>
<br>
</div></div></blockquote></div><br>