IR100
Radio
The IR100 contains 3 PCBs, the power converter PCB, the Amplifier PCB and the barracuda host PCB, into which is plugged a barracuda module, and a RaLink USB wi-fi adaptor.
There is an external owners site with lots of IR-100 information.
Radio Firmware/Software Modifications
Several owners have used this project to change the firmware on their radios, providing additional features over the official upgrades. (Jan 30th 2008, new official firmware released, check this first before deciding if you need to update your radio using these methods). See Changing Your Radio , Enabling Login and Changing Firmware.
Radio Hardware Modifications
A number of modifications have been undertaken on the IR100:
- Installing an External USB Socket on the IR100
- Moving the USB Wi-Fi dongle on the IR100 and an alternative USB socket
- Modifying time delay when starting a track Removing the "thump" when radio changes tracks and fixes the missing few seconds at the start of a track. There may be a (partial?) Config.txt File software fix for this problem.
- IR100 Back Rotation Fix the speaker hum !
- Installing an Ethernet LAN connection, external USB memory stick connection, mains switch
Still to be documented on Wiki:
- Installing an Infrared Remote Control on the IR100
- Adding a JTAG Port to the Barracuda Module
- Adding a Serial Port to the Barracuda Module
(Please add other modification documentation, such as enabling the USB memory stick for "demo mode" )
PCB
The Barracuda PCB plugs into a motherboard within the IR100. The following image is a composite, showing both the top and bottom PCB layers.
Connectors
There are three edge connectors on the Barracuda board (J1, J2 and J3). The pin naming in the image below has been extracted from the IR100 motherboard silk screen.
[Image:Barracuda-Information.xls|thumb|Barracuda ICD Spreadsheet]
USB
There is something odd about the way the USB connection has been made. The IR100 connects the USB D+ and D- with 22R series resistors, and also, each pin has a 15K resistor, which is also connected to ground on the IR100 motherboard.
A bus-master requires two 15K pull-down resistors.
For a bus slave there should be a 1K5 pull-up to 3V3 on either the D+ or D- line (depending on the requested bus speed).
It is possible that this single port can be configured as either a master or a slave (Pin M10 is DP1/PDP0, Pin N11 is DN1/PDN0 - i.e. DP1&DN1 are the Host Functions and PDP0&PDN0 are the Slave Functions, sharing the same pins).
From the source code reciva_usb.c file, it suggests that the driver powers up with the USB interface in slave mode - this should be detectable by monitoring the USB VCC during power-up.
It seems likely that the convoluted interconnection is provided so that the Barracuda module can be plugged into a test configuration, which configures the port as a slave. It seems unlikely that this will be possible in the radio without hardware modification to the motherboard.
Some time during boot, the USB VCC should appear, once the Barracuda board has detected (somehow) that the motherboard wants a USB master.
Some things to try:
- Monitor the USB VCC during reset, and demonstrate that it does infact 'come up' during the boot sequence.
- Power up the barracuda module without the motherboard, without the 15K pull-downs and without the additional ground connections, to try and force the board to be a slave.
The Software
The IR100 is running Familiar Linux, and incorporates the Helix DNA player (neptune 1.3) with some additional plugins and a top-level client, written by Reciva.
Building A Debug Board
DebugBoard Building a Debug Board