Broadway2 Driver & Software Setup
FibreCode USB adapters use the Broadway2 software platform for host communication, register access via SMI/MDIO, and high-performance packet streaming.
- Standard Network Devices (FC602 / FC621): Implement the standard USB CDC-ECM protocol and appear directly as network cards in your OS.
- Raw Stream Devices (FC612 / FC631): Utilize the high-throughput Broadway2 raw stream driver for nanosecond hardware-timestamped packet capture and injection.
- Register & Tool Adapters (FC401): Provide direct SPI/SMI access via the Broadway API.
Download Software Package
Download WSP_Broadway_Vxx-xx-xx.zip and extract the archive.
Directory structure of the extracted Windows package:
WSP_Broadway_Vxx-xx-xx/
├── CDC-ECM/ # Windows CDC-ECM network driver
├── Windows/ # Broadway API DLLs & install scripts
├── Python3/ # Python wheels and application suite
└── doc/ # Documentation
Download LSP_Broadway_Vxx-xx-xx.zip and extract the archive:
unzip LSP_Broadway_Vxx-xx-xx.zip -d LSP_Broadway_Vxx-xx-xx
Directory structure of the extracted Linux package:
LSP_Broadway_Vxx-xx-xx/
├── Linux/ # Pre-compiled .so libraries for Ubuntu & Raspbian
├── Python3/ # Python wheels and application suite
└── doc/ # Documentation
Install Driver & API
Install CDC-ECM Network Driver
Navigate into the CDC-ECM folder:
CDC-ECM/
└── Vx.xx.x/
└── FibreCode_Broadway_xxxx.setup.exe
Run FibreCode_Broadway_xxxx.setup.exe to install the Windows network driver.
Install Broadway API DLLs
Navigate to the Windows folder:
Windows/
├── bin/
│ ├── Win32/broadway2_api.dll
│ └── x64/broadway2_api.dll
└── install.cmd
Open Command Prompt or PowerShell with Administrator rights and run:
install.cmd
Expected output:
copy bin\Win32\broadway2_api.dll C:\WINDOWS\SYSWOW64
1 file(s) copied.
copy bin\x64\broadway2_api.dll C:\WINDOWS\SYSTEM32
1 file(s) copied.
Network Driver
On Linux distributions (Ubuntu, Debian, Raspberry Pi OS), standard kernel modules natively recognize FC602 and FC621 as standard USB CDC-ECM network devices. No proprietary kernel driver is needed.
Install Broadway API Shared Library
Navigate to the architecture folder matching your system:
Linux/
├── Raspbian/
│ └── armhf/
└── Ubuntu/
├── arm64/
└── x64/
├── bin/linux/broadway2_sample
├── install.sh
└── libbroadway2_api.so
Execute install.sh to copy the shared library to /usr/local/lib and update the dynamic linker cache:
sudo chmod +x install.sh
sudo ./install.sh
Alternative manual installation:
sudo cp libbroadway2_api.so /usr/local/lib
sudo ldconfig /usr/local/lib
Verify Hardware Connection
Plug in your FibreCode device and run the Broadway verification sample to confirm the host detects the hardware properly:
Open Command Prompt and navigate to Windows\bin\x64:
broadway2_sample.exe info
Navigate to your architecture's binary directory (e.g. Linux/Ubuntu/x64/bin/linux/):
chmod +x broadway2_sample
sudo ./broadway2_sample info
Expected terminal output:
Compile Time Oct 13 2021 19:20:32
Broadway library API Version 2.20
Enumerate available devices...
Found 1 Broadway device(s)
Device information:
VendorId: 0x152A
ProductId: 0x857B
BcdDevice: 0x0230
Device type: 602
IN message size: 512 bytes
OUT message size: 512 bytes
Manufacturer: FibreCode
Product: FibreCode FC602 Stick
Serial number: FC01330000000066
FWVariantName: Broadway_FC300105
FWVersionString: 2.30.0-1
MAC address: FC-C2-3D-0B-6B-5B
Install Python 3 Environment
Ensure Python 3 is installed on your system. Navigate to the Python3 directory inside the extracted package:
Install the pre-compiled Python wheel:
pip install broadway2-x.x.xx-py3-none-any.whl
Legacy Broadway packages (V2.3.4 and below): If your package contains broadway2-x.x.x.zip, extract it and run:
python setup.py install
Install the pre-compiled Python wheel:
# Debian / Ubuntu:
sudo pip3 install broadway2-x.x.xx-py3-none-any.whl
# Ubuntu 23.04+ / Debian 12+ (PEP 668 managed environments):
sudo pip3 install broadway2-x.x.xx-py3-none-any.whl --break-system-packages
Legacy Broadway packages (V2.3.4 and below): If your package contains broadway2-x.x.x.zip, extract it and run:
sudo python3 setup.py install
Broadway Python Application Suite
In the Python3/app folder, you will find pre-built Python tools and scripts for control, diagnostics, and testing:
Python3/app/
├── fc_control.py # Main GUI control tool (MAC address, Friendly Name, PnP)
├── fc_view.py # Real-time link monitor
├── app_fc.py
├── get_hw_info.py # Hardware descriptor query
├── get_phy_info.py # PHY link and status query
├── phy_config.py # PHY register configuration script
├── net/ # Network test scripts for FC602 / FC621
├── raw/ # Layer-2 raw frame scripts for FC612 / FC631
├── root/ # General utility scripts
└── tool/ # Direct SMI/SPI tools for FC401
To launch an application (for example, the FC-Control GUI):
Run from the command line or double-click fc_control.py in Windows File Explorer:
python fc_control.py
sudo python3 fc_control.py