Here’s an interesting bit of research to come out of Microsoft and UCSD. The Somniloquy project is a new type of network interface. It’s a USB device that allows a computer to continue network communications after being put to sleep. By offloading these tasks, machines that would normally stay awake for RDP and file transfers are only powered up when absolutely necessary. The device uses a Gumstix board like the one used in the Tor hardware adapter. The device pictured above has two USB interfaces, but the second is just for debugging and not needed for proper operation. The board runs BSD and creates a USBNet bridge to the Vista host. When the host daemon detects the computer going to sleep, it hands off active communication to the gumstix. They developed “stub” applications to handle the various types of communication. For downloads, they used wget to download only the portion of the data that was still left. For bittorrent, they customized the command line client ctorrent to manage the download. Both programs wake up the PC upon completion and transfer the file off of the SD card.
We’re putting a bounty on two high-priority Bus Pirate features. You can get a free PCB for the upcoming Bus Pirate V2 by writing a bit of code. Hack a Day has a varied and talented group of readers, and we know someone out there has the experience to make these changes with minimal difficulty.
- The latest code integrates the PIC24F bootloader for easy updates without a programmer. We’d like to add a protocol snooper, but that requires interrupts. With the bootloader, however, interrupts are relocated and we’ve yet to fully grasp how that works. We’ll send a PCB and PIC 24F to the first person who modifies the code to demonstrate UART, SPI, or change notification interrupts with the boot loader. Microchip’s 24F bootloader app note is available here. Complete.
- The current frequency measurement feature is a hack that uses a counter and a timer. Be the first to implement the input capture peripheral instead, and get a free PCB. See the function bpFreq(void) in base.c. Complete.
The latest Bus Pirate code and compiled firmware can be checked-out from Google Code SVN. Submit your code via the comments below or email@example.com.
UPDATE: Both issues were resolved. Thanks for your suggestions.