Saturday, August 13, 2011

OpenOCD 0.5.0 release Windows binary download

OpenOCD 0.5.0 has been released. Here is the News.

Source zip archive or tar ball can be downloaded from SourceForge.

Windows binaries (32bit and 64bit, cross build under Linux with MinGW-w64 project's compiler) can be downloaded from Freddie Chopin's website.

You can also use my test build which is native Windows build using 32bit MinGW.org toolchain.

Take note due to GPL licensing reasons, these Windows binaries are linked against libusb-win32 and libftdi and not the proprietary FTDI D2xx library.

Tuesday, August 2, 2011

USB CDC-ACM is really meant for USB Modem

Many users use USB CDC-ACM for virtual com port usage. It
is supported under Windows by the usbser.sys driver and
also works under Linux and Mac OS X and probably other OS
as well.

In reality, CDC-ACM is really meant for modems.
http://www.usb.org/developers/devclass_docs/usbcdc11.pdf

"3.6.2 Abstract Control Model
With an Abstract Control Model, the USB device understands standard
V.25ter (AT) commands. The device contains a Datapump and micro-controller
that handles the AT commands and relay controls. The device uses both a
Data Class interface and a Communication Class interface."

Microsoft states that usbser.sys is really meant for
USB modems.
http://social.msdn.microsoft.com/Forums/en-ZA/wdk/thread/993f5ce0-3ed1-45a9-a9fa-5d02626164d6

"usbser.sys is only good enough of a virtual serial port implementation to
enable it to be used as a modem".

Apple even insists that it is for network device (a USB modem is
a networking device) and insists to bring up the network configure
dialog. Here is an heated debate thread in Apple USB mailing list.
http://lists.apple.com/archives/usb/2011/Jun/msg00009.html

And Linux will issue a warning about a USB CDC-ACM device
if it is not a modem.
http://lxr.linux.no/#linux+v3.0/drivers/usb/class/cdc-acm.c

917 case USB_CDC_CALL_MANAGEMENT_TYPE:
918 call_management_function = buffer[3];
919 call_interface_num = buffer[4];
920 if ( (quirks & NOT_A_MODEM) == 0 &&
(call_management_function & 3) != 3)
921 dev_err(&intf->dev, "This device
cannot do calls on its own. It is not a modem.\n");
922 break;

Sunday, July 24, 2011

libftdi 0.19 and libftdi-1.0 git MinGW binaries download

Here are the unofficial libftdi-0.19 and libftdi-1.0 binaries download.
http://code.google.com/p/picusb/downloads/list

They are cross-built under Linux with MinGW and MinGW-w64. So if you have some difficulties getting them to be built under Windows, you may want to try out the binaries I built.

Sunday, July 10, 2011

Arch Linux Gnome 3 with Nvidia Driver Problem Workaround

I have some problems with Gnome 3 (Gnome Shell) with the Nvidia 3. The main thing is that sometimes texts will get corrupted when you scroll down a website under Firefox. It can take some efforts to to click some links in Firefox for some websites (like the links below any LinuxToday articles). The first link is there, but when you scroll down and try to click it, it disappeas and the text below that becomes corrupted. Most likely it is an Nvidia driver problem but I have updated to the latest version from Arch. And I do not have such a problem under Ubuntu 11.04 with Unity.

In the end the workaround provided in Arch Forum works, press ALT+F2 and type "r" and then everything is fine.

Quote from that Arch Forum article:
"Have you tried Alt+F2 to open a command prompt then entering r ? I think I get the same thing you get when I come out of suspend and r at the command prompt resets the Gnome Shell and fixes the problem. I'm also using the closed source Nvidia driver."

Notes added on 17 July 2011: it still does not work well, still has the garbled text problem. So I just switched to the Fall Back mode by default.

Notes added on 21 July 2011: it seems that the latest NVidia driver improved on the issue (275.19-1 version) but I still see text corruption when scrolling with a mouse under Firefox and Gnome 3.