Monitor Mode for bcmdhd Driver

503 views
Skip to first unread message

Jinghao Shi

unread,
Aug 4, 2014, 3:17:59 PM8/4/14
to android...@googlegroups.com
Hi,

I am working on enabling monitor mode for bcmdhd driver on Android phones (Nexus 5) for a research project. I've used the WLC_SET_MONITOR ioctl command to tell the firmware send up every 802.11 frame it has decoded, and this works well. Now I'm trying to get per packet RSSI, and this is where I get stuck. I'd appreciate it if anybody can shed some light on this.

I found that after setting tlv iovar with WLFC_FLAGS_RSSI_SINGALS, the firmware is supposed to report per packet RSSI in the wlfc header, which it indeed does in normal manged mode,  However, after enabling monitor mode, each packet's RSSI becomes invalid (0). And I have no clue of what's going on there.

For your information, my modifications are based on recent kernel release for KitKat 4.4, commit id 8217cfa3b560b102b53258156dee3dab530fc00b.


Regards,
Jinghao

Allan Park

unread,
Oct 1, 2014, 1:06:47 PM10/1/14
to android...@googlegroups.com
What do you mean rssi packet? Rssi is the received signal strength indicater. So its value came from the host side. It calibrate from host. May u can parse rssi value in wpa supplicant and dhd driver. 

2014년 8월 5일 화요일, Jinghao Shi<jhs...@gmail.com>님이 작성한 메시지:
--
--
unsubscribe: android-kerne...@googlegroups.com
website: http://groups.google.com/group/android-kernel
---
You received this message because you are subscribed to the Google Groups "Android Linux Kernel Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-kerne...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jinghao Shi

unread,
Nov 18, 2014, 1:12:42 PM11/18/14
to android...@googlegroups.com
You can get the RSSI value of each Access Point from the scan result data. However, in monitor mode, you will overhear packets from both Access Points and other devices. So ideally the firmware should report per-packet RSSI so that I know the signal strength of each terminals within certain range.


On Wednesday, October 1, 2014 1:06:47 PM UTC-4, allan park wrote:
What do you mean rssi packet? Rssi is the received signal strength indicater. So its value came from the host side. It calibrate from host. May u can parse rssi value in wpa supplicant and dhd driver. 

2014년 8월 5일 화요일, Jinghao Shi<jhs...@gmail.com>님이 작성한 메시지:
Hi,

I am working on enabling monitor mode for bcmdhd driver on Android phones (Nexus 5) for a research project. I've used the WLC_SET_MONITOR ioctl command to tell the firmware send up every 802.11 frame it has decoded, and this works well. Now I'm trying to get per packet RSSI, and this is where I get stuck. I'd appreciate it if anybody can shed some light on this.

I found that after setting tlv iovar with WLFC_FLAGS_RSSI_SINGALS, the firmware is supposed to report per packet RSSI in the wlfc header, which it indeed does in normal manged mode,  However, after enabling monitor mode, each packet's RSSI becomes invalid (0). And I have no clue of what's going on there.

For your information, my modifications are based on recent kernel release for KitKat 4.4, commit id 8217cfa3b560b102b53258156dee3dab530fc00b.


Regards,
Jinghao

--
--

website: http://groups.google.com/group/android-kernel
---
You received this message because you are subscribed to the Google Groups "Android Linux Kernel Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-kernel+unsubscribe@googlegroups.com.

Jinghao Shi

unread,
Dec 19, 2014, 4:41:07 PM12/19/14
to android...@googlegroups.com
I poked around the web and found this thread.


In particular, this sentence:

"For some other protocols, rssi in BDC header is zero,meaning we cannot get correct rssi for them."

It seems the firmware just won't report per-packet RSSI in monitor mode. Sad.

Allan Park

unread,
Mar 11, 2015, 8:19:26 AM3/11/15
to android...@googlegroups.com
If want to set monitor mode, need a another firmware. Nexus5 has only 2 firmware(STA-P2P, SotfAP). The broadcom would not provide the monitor firmware.



website: http://groups.google.com/group/android-kernel
---
You received this message because you are subscribed to the Google Groups "Android Linux Kernel Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-kerne...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages