Page 1 of 1

Pulled orig 802.11n card & Installed an 802.11ac card.

Posted: Fri Jul 26, 2013 4:36 am
by emurach
Pulled orig 802.11n card & Installed an 802.11ac card.

Installed the Broadcom BCM4352 (802.11ac) / BCM20702A0 (BT4) wireless card for There MiniPCIe BLADE card. Just like I did in the FIT PC. Work great. Nice speed.

My wish list. "HID PROXY". It would be neat if the BCM20702A0 Bluetooth radio was hardwired to be in HID PROXY mode on boot. Then we a small app the OS runs on load up to switch it to normal HCI mode. Then my wireless Logitech bluetooth keyboard would work at the UEFI BIOS and SHELL mode level.

Re: Pulled orig 802.11n card & Installed an 802.11ac card.

Posted: Sun Aug 04, 2013 3:30 am
by emurach
Broadcom call there version of HID proxy UHE. It exists in BCM20730 for sure. But unknown if the BCM20702A0 can be placed in UHE at boot then switch back on OS load as yet.

Research So far.

Posted: Tue Oct 08, 2013 3:42 pm
by emurach
I now have the Linux driver for BCM4352

Broadcom posted one on there site in Sept 2013. in an obscure location.


Looking at a BCM4339 Document online. which use the same BCM20702A0 chip

The BCM4339 can be configured to boot up as either a single USB peripheral or a USB hub with several USB
peripherals attached. As a single peripheral, the host detects a single USB Bluetooth device. In hub mode, the
host detects a hub with one to three of the ports already connected to USB devices.

Depending on the desired hub mode configuration, the BCM4339 can boot up showing the three ports
connected to logical USB devices internal to the BCM4339: a generic Bluetooth device, a mouse, and a
keyboard. In this mode, the mouse and keyboard are emulated devices, since they connect to real HID devices
via a Bluetooth link. The Bluetooth link to these HID devices is hidden from the USB host. To the host, the
mouse and/or keyboard appear to be directly connected to the USB port. This Broadcom proprietary
architecture is called USB HID Emulation (UHE).
The USB device, configuration, and string descriptors are fully programmable, allowing manufacturers to
customize the descriptors, including vendor and product IDs, the BCM4339 uses to identify itself on the USB
port. To make custom USB descriptor information available at boot time, stored it in external NVRAM.

The Bluetooth microprocessor core is based on the ARM® Cortex-M3™ 32-bit RISC processor with embedded
ICE-RT debug and JTAG interface units. It runs software from the link control (LC) layer, up to the host controller
interface (HCI).
The ARM core is paired with a memory unit that contains 608 KB of ROM memory for program storage and
boot ROM, 192 KB of RAM for data scratch-pad and patch RAM code. The internal ROM allows for flexibility
during power-on reset to enable the same device to be used in various configurations. At power-up, the lowerlayer
protocol stack is executed from the internal ROM memory.
External patches may be applied to the ROM-based firmware to provide flexibility for bug fixes or feature
additions. These patches may be downloaded from the host to the BCM4339 through the UART transports. The
mechanism for downloading via UART is identical to the proven interface of the BCM4329 and BCM4330

OK the trick with the BCM4352 w/ BCM20702A) is to figure out how to load the vendor and product IDs. Sounds like it needs to loaded into the BCM4352 itself in PATCH RAM or add a tool to UEFI bios to load whats needed in NVRAM on boot. have no idea on how to do this. Though have locate Linux tools to load patch ram.

It may be simpler to wait for the BCM20730 to be incorporated into a newer Wifi module. That would give easy to use Zero Touch access to UHE mode on boot.