FAQ

Software

In Ubuntu 10.4, goodfet.bsl crashes randomly.
Kenneth Finnegan describes the problem in this article. The jist is that a bad udev rule makes the GoodFET's FT232 chip look like a power management device, which upowerd then grabs hold of. The fix is to delete the udev rule in /lib/udev/rules.d/95-upower-wup.rules.

Is there a standalone version for Windows?
Yes, but it is rather old, as no one in the development team uses Windows. Please get in touch if you would like to help automate py2exe builds for us. Download GFWin.zip and be sure that you have the Visual Studio Redistribution Package.

Will the client run on my operating system?
While the software is developed in unix, you ought to be able to run it under Windows with Cygwin and Python. Linux, OpenBSD, and OS X are well supported. There is also an experimental QT-Quick GUI for Meego.

Which python packages are required?
python-serial, python-sqlite

Where do I get MSPGCC?
A good build script is available at MSPGCC4. Compatibility is maintained with MSPGCC3, but all present development is performed in version 4. Be sure to build without Insight, and feel free to omit GDB if you don't need it.

Can I install the firmware without MSPGCC?
Sure. 'goodfet.bsl --fromweb' will download the most recent firmware from the website. If you are working with special platforms like the Next Hope Badge, Facedancer or the Telos B, you will need to specify the board environment variable. 'board=facedancer20 goodfet.bsl --fromweb' should do the trick if you are programming a facedancer20 board.

BSL

What does ``Verb FF is wrong. Incorrect firmware or bad Info guess?'' mean?
This is an older error that should no longer be seen. Update to the latest client.

Hardware

Which model do I want?
The GoodFET42 is by far the best model, but the GoodFET32 is kept is stock as it is easier to solder. Boards can be obtained at little to no cost as explained in the Ordering Information page.

Adafruit sells assembled GoodFET42 boards. At int3.cc, you can order assembled Facedancer21 boards for USB fuzzing and emulation.

Do I use a 47K pull-up resistor or a 74K resistor for the !RST line?
74K is a typo, but anything from 1K to 100K ought to work. The !RST pull-up resistor has been removed from recent models, and it can probably be omitted in older models.

I would like a GoodFET, but I am unable to solder. Will you send me an assembled unit?
Unless you are willing to pay an absurd markup, it is best to build your own. Bring the components to your local hackerspace, and ask a neighbor to help you out.

In the * BOM are the 0603 componentss imperial or metric?
These are imperial measurements. 0603 (0.063 in x 0.031 in) are equivalent to 1608 metric (1.6mm x 0.8mm).

Distribution

What license does this project use? Can I fork it, package it, or trade it for battle umbrellas?
The GoodFET firmware and client software are 3-clause BSD licensed, and you are free to redistribute anything in the GoodFET repository without any unneighborly restrictions.

Where can I get the latest version of the code?
git clone https://github.com/travisgoodspeed/goodfet goodfet

Is a zip archive available that's just a little more stable
Periodically, releases are made among the Sourceforge Files.

Ordering

How can I order a GoodFET?
Pre-assembled boards are not available, but you can get PCBs from our ordering page and solder them yourself.

Development

Would you like patches for the $foo architecture?
Yes! Email travis at radiantmachines.com or join us in #goodfet on Freenode to discuss it.

Will you write support for $foo?
There's a long queue of chips to support. Getting pushed to the front won't be easy.

Who builds the GoodFET?
The project was begun by Travis Goodspeed in early 2009. Other neighbors contribute regularly.

Can the firmware be ported?
Yes. Ports are underway for the Zolertia Z1, Telos B, and other MSP430 devices. In the longer term, a port is planned to the Chipcon 8051 radios.