Please take note I have moved my blog site to Wordpress.
https://mcuee.wordpress.com/
Saturday, June 30, 2018
Sunday, December 13, 2015
libftdi1-1.2 and libftdi1 git master MinGW.org Windows binaries
I have not built Windows binary for libftdi for a while. It seems
that there are still some requests for the Windows binary.
So I first built the MinGW.org (MinGW 4.7.2, not the latest) binary.
You can download the libftdi Windows binaries here.
https://sourceforge.net/ projects/picusb/files/
libusb-1.0.20 is used for the development kit. It is
recommended that you use Zadig to install WinUSB
driver for the development kit. You can also use
libusbK driver if you want to use both libftdi-0.1x
and libftdi1-1.x. Please do not use libusb-win32
device driver (libusb0.sys) since it does not work
well under libusb-1.0.20.
that there are still some requests for the Windows binary.
So I first built the MinGW.org (MinGW 4.7.2, not the latest) binary.
You can download the libftdi Windows binaries here.
https://sourceforge.net/
libusb-1.0.20 is used for the development kit. It is
recommended that you use Zadig to install WinUSB
driver for the development kit. You can also use
libusbK driver if you want to use both libftdi-0.1x
and libftdi1-1.x. Please do not use libusb-win32
device driver (libusb0.sys) since it does not work
well under libusb-1.0.20.
Sunday, February 23, 2014
libusb-1.0.18 release and the merge of libusb/libusbx project
Announcement on 26-Jan-2014:
http://marc.info/?l=libusb-devel&m=138923388110948&w=2
This is the first libusb release after the merger of libusb and libusbx project.
Download:
https://sourceforge.net/projec ts/libusb/files/libusb-1.0/ libusb-1.0.18/
Website:
http://libusb.info
Git repo:
https://github.com/libusb/libusb
Take note that Peter Stuge is opposed to the libusbx fork and the merger of libusb/libusbx. He is no longer the maintainer of libusb project. But he still wants to maintain the rival libusb.org website.
http://marc.info/?l=libusb-devel&m=138923388110948&w=2
This is the first libusb release after the merger of libusb and libusbx project.
Download:
https://sourceforge.net/projec
Website:
http://libusb.info
Git repo:
https://github.com/libusb/libusb
Take note that Peter Stuge is opposed to the libusbx fork and the merger of libusb/libusbx. He is no longer the maintainer of libusb project. But he still wants to maintain the rival libusb.org website.
libftdi1-1.1 released and Windows binaries
libftdi1-1.1 has been released on 06-Feb-2014
Main highlights
------------------
* Fix FT232H eeprom suspend pulldown setting (Davide Michelizza)
* Fix FT232H eeprom user area size (Davide Michelizza)
* Improved mingw build (Paul Fertser and Michel Zou)
* C++ wrapper: Get/set functions for USB timeouts (Jochen Sprickerhof)
* Partial support for FT230X (Nathael Pajani)
* New API function: ftdi_eeprom_set_strings() (Nathael Pajani)
* Prevent possible segfault in ftdi_eeprom_decode() (Nathael Pajani)
* Save device release number in eeprom (Jarkko Sonninen)
* Fix "self powered" eeprom flag (Jarkko Sonninen)
* Improved python wrapper (Michel Zou)
* Many buildsystem improvements (Michel Zou and Mike Frysinger)
* See the git history for more changes and fixes
Download:
http://www.intra2net.com/en/ developer/libftdi/download/ libftdi1-1.1.tar.bz2
GPG signature:
http://www.intra2net.com/en/ developer/libftdi/download/ libftdi1-1.1.tar.bz2.sig
Full changelog:
http://developer.intra2net. com/git/?p=libftdi;a=blob;f= ChangeLog;hb=HEAD
I provided the Windows development kit download here. This time I have provided both the MinGW.org based 32bit development kit and MinGW-w64 based 32bit/64bit development kit. libusb-1.0.18 is used as the base for the libftdi1-1.1.
Main highlights
------------------
* Fix FT232H eeprom suspend pulldown setting (Davide Michelizza)
* Fix FT232H eeprom user area size (Davide Michelizza)
* Improved mingw build (Paul Fertser and Michel Zou)
* C++ wrapper: Get/set functions for USB timeouts (Jochen Sprickerhof)
* Partial support for FT230X (Nathael Pajani)
* New API function: ftdi_eeprom_set_strings() (Nathael Pajani)
* Prevent possible segfault in ftdi_eeprom_decode() (Nathael Pajani)
* Save device release number in eeprom (Jarkko Sonninen)
* Fix "self powered" eeprom flag (Jarkko Sonninen)
* Improved python wrapper (Michel Zou)
* Many buildsystem improvements (Michel Zou and Mike Frysinger)
* See the git history for more changes and fixes
Download:
http://www.intra2net.com/en/
GPG signature:
http://www.intra2net.com/en/
Full changelog:
http://developer.intra2net.
I provided the Windows development kit download here. This time I have provided both the MinGW.org based 32bit development kit and MinGW-w64 based 32bit/64bit development kit. libusb-1.0.18 is used as the base for the libftdi1-1.1.
Monday, March 4, 2013
libftdi1-1.0 released and Windows binary download
libftdi1-1.0 has been released on 29-Jan-2013 after three years of active development.
Main highlights
------------------
* Ported to libusb 1.x
* Many EEProm handling improvements
* Library .so / pkgconfig files are called "libftdi1".
So it can co-exist with libftdi 0.x
* ftdi_eeprom is part of the main distribution
Download:
http://www.intra2net.com/en/ developer/libftdi/download/ libftdi1-1.0.tar.bz2
I provided the MinGW32 download here.
Main highlights
------------------
* Ported to libusb 1.x
* Many EEProm handling improvements
* Library .so / pkgconfig files are called "libftdi1".
So it can co-exist with libftdi 0.x
* ftdi_eeprom is part of the main distribution
Download:
http://www.intra2net.com/en/
I provided the MinGW32 download here.
Saturday, September 22, 2012
OpenOCD 0.6.0 release 32bit Windows binary using libusbx 1.0.13
http://code.google.com/p/ picusb/downloads/detail?name= openocd_0.6.0_mingw32.zip
OpenOCD 0.6.0
Release date: 7 September 2012
build date: 22 September 2012
build system: Windows XP SP3
compiler: GCC 4.7.0 (MinGW.org), 32bit only
Libraries used (32bit)
libftdi-0.20
libusb-win32-1.2.6.0
libusbx-1.0.13
Build commands used:
LDFLAGS="-lusb-1.0" ../configure --enable-ftdi \
--enable-ft2232_libftdi --enable-presto_libftdi --enable-stlink \
--enable-arm-jtag-ew --enable-jlink --enable-rlink \
--enable-usbprog --enable-vsllink --enable-usb_blaster_libftdi \
--enable-remote-bitbang --enable-vsllink --enable-ulink \
--enable-osbdm --enable-opendous \
--disable-shared --disable-werror
Drive installation.
1) ST-Link V2: use the driver from ST (winusb based)
2) libusb-1.0 drivers are required for:
- ST-LINK V1
- J-Link
- FTDI FTx232 adapters when using config files from
interface/ftdi/ subfolder (mpsse engine)
You can install libusb-1.0 drivers using Zadig software from
the libwdi project
https://sourceforge.net/ projects/libwdi/files/zadig/
You can choose to use winusb.sys, libusb0.sys, or libusbk.sys.
In general, they should perform the same but Winusb.sys
support in libusbx 1.0.13 may be more mature than libusb0.sys
and libusbk.sys.
For ST-Link V1 and J-Link, you may want to use the libusb-win32
filter driver since you can keep the existing vendor driver.
For FTx232 adapters (USB composite device), you can not use
the filter driver since libusbx 1.0.13 does not support
the filter driver for USB Composite device.
3) Other USB JTAG debuggers including FTDI FTx232 adapters when
not using config files from interface/ftdi/ subfolder (not using
the new mpsse engine)
Use Zadig to install libusb-win32 drivers (device driver or
filter driver)
OpenOCD 0.6.0
Release date: 7 September 2012
build date: 22 September 2012
build system: Windows XP SP3
compiler: GCC 4.7.0 (MinGW.org), 32bit only
Libraries used (32bit)
libftdi-0.20
libusb-win32-1.2.6.0
libusbx-1.0.13
Build commands used:
LDFLAGS="-lusb-1.0" ../configure --enable-ftdi \
--enable-ft2232_libftdi --enable-presto_libftdi --enable-stlink \
--enable-arm-jtag-ew --enable-jlink --enable-rlink \
--enable-usbprog --enable-vsllink --enable-usb_blaster_libftdi \
--enable-remote-bitbang --enable-vsllink --enable-ulink \
--enable-osbdm --enable-opendous \
--disable-shared --disable-werror
Drive installation.
1) ST-Link V2: use the driver from ST (winusb based)
2) libusb-1.0 drivers are required for:
- ST-LINK V1
- J-Link
- FTDI FTx232 adapters when using config files from
interface/ftdi/ subfolder (mpsse engine)
You can install libusb-1.0 drivers using Zadig software from
the libwdi project
https://sourceforge.net/
You can choose to use winusb.sys, libusb0.sys, or libusbk.sys.
In general, they should perform the same but Winusb.sys
support in libusbx 1.0.13 may be more mature than libusb0.sys
and libusbk.sys.
For ST-Link V1 and J-Link, you may want to use the libusb-win32
filter driver since you can keep the existing vendor driver.
For FTx232 adapters (USB composite device), you can not use
the filter driver since libusbx 1.0.13 does not support
the filter driver for USB Composite device.
3) Other USB JTAG debuggers including FTDI FTx232 adapters when
not using config files from interface/ftdi/ subfolder (not using
the new mpsse engine)
Use Zadig to install libusb-win32 drivers (device driver or
filter driver)
Saturday, September 15, 2012
OpenOCD 0.6.0 released
Announcement:
http://openocd.sourceforge.net/category/news/
Download: http://sourceforge.net/projects/openocd/files/openocd/0.6.0/
Windows binary download: http://www.freddiechopin.info/en/download/category/4-openocd
Download: http://sourceforge.net/projects/openocd/files/openocd/0.6.0/
Windows binary download: http://www.freddiechopin.info/en/download/category/4-openocd
Saturday, June 2, 2012
OpenOCD 0.6.0 development Windows binary snapshot for testing
I've packaged two Windows binary snapshots for those who are interested in testing the upcoming OpenOCD 0.6.0 release.
Download: http://code.google.com/p/picusb/downloads/list
One of the download is for the new mpsse patch series which use libusb-1.0 asynchronous API to speed up the speed of FTDI based adapters. The other is the regular git version. Compared to 0.5.0, the improvement in 0.6.0 is very significant, both in terms of new support (like ST-Link) and performance.
Download: http://code.google.com/p/picusb/downloads/list
One of the download is for the new mpsse patch series which use libusb-1.0 asynchronous API to speed up the speed of FTDI based adapters. The other is the regular git version. Compared to 0.5.0, the improvement in 0.6.0 is very significant, both in terms of new support (like ST-Link) and performance.
libftdi-0.20 Windows MinGW 32bit binary for download
Here is the unofficial libftdi-0.20 binary for download.
http://code.google.com/p/picusb/downloads/list, the file name is libftdi_0.20_devkit_mingw32_08April2012.zip .
They are built under Windows with MinGW. So if you have some difficulties building libftdi-0.20 from source for Windows, you may want to try out the binary I built.
http://code.google.com/p/picusb/downloads/list, the file name is libftdi_0.20_devkit_mingw32_08April2012.zip .
They are built under Windows with MinGW. So if you have some difficulties building libftdi-0.20 from source for Windows, you may want to try out the binary I built.
libusb-1.0 and libusbx in OpenBSD ports and NetBSD pkgsrc now
libusb-1.0.9 and libusbx-1.0.11 have OpenBSD/NetBSD support.
Now libusb-1.0 and libusb-compat are OpenBSD's ports system. NetBSD's pkgsrc system (okay, pkgsrc is not only for NetBSD) now has both libusb-1.0.9 and libusbx-1.0.11, it also has libusb-compat as well.
On the other hand, at least for the faster moving libusbx, OpenBSD/NetBSD are behind the other supported OS (Linux, Mac OS X and Windows). Hopefully the OpenBSD/NetBSD users can jump in and bridge the gap.
Take note FreeBSD has its own libusb-1.0/libusb-0.1 wrapper on top of its own libusb20 library.
On the other hand, at least for the faster moving libusbx, OpenBSD/NetBSD are behind the other supported OS (Linux, Mac OS X and Windows). Hopefully the OpenBSD/NetBSD users can jump in and bridge the gap.
Take note FreeBSD has its own libusb-1.0/libusb-0.1 wrapper on top of its own libusb20 library.
Sunday, April 15, 2012
OpenBSD, NetBSD and libusb-1.0
There is OpenBSD support in libusb.git. Since NetBSD
and OpenBSD should have quite similar USB codes, I think
that it should work under NetBSD as well.
Therefore I tried the following dirty patch to enable libusb-1.0 experimental support for NetBSD using the OpenBSD backend.
Take note FreeBSD has its own libusb-1.0 implementation which should be more mature than the OpenBSD backends of libusb-1.0 which is very recent.
Therefore I tried the following dirty patch to enable libusb-1.0 experimental support for NetBSD using the OpenBSD backend.
Take note FreeBSD has its own libusb-1.0 implementation which should be more mature than the OpenBSD backends of libusb-1.0 which is very recent.
diff --git a/configure.ac b/configure.ac
index ebbc107..71aad37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -83,6 +83,17 @@ case $host in
AC_CHECK_HEADERS([poll.h])
AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
;;
+*-netbsd*)
+ AC_DEFINE(OS_OPENBSD, 1, [OpenBSD backend])
+ AC_SUBST(OS_OPENBSD)
+ AC_MSG_RESULT([OpenBSD])
+ backend="openbsd"
+ threads="posix"
+ THREAD_CFLAGS="-pthread"
+ PC_LIBS_PRIVATE="-pthread"
+ AC_CHECK_HEADERS([poll.h])
+ AC_DEFINE([POLL_NFDS_TYPE],[nfds_t],[type of second poll() argument])
+ ;;
*-mingw*)
AC_MSG_RESULT([Windows])
backend="windows"
And indeed it seems to work under NetBSD (tested with a
NetBSD 5.1 VirtualBox VM under Mac OS X Lion) localhost$ sudo ./listdevs 04d8:fa2e (bus 0, device 2)I also tested libusb-pbatard's xusb example.
localhost$ sudo ./xusb -d 04d8:fa2e
Opening device...
speed: Unknown
Reading device descriptor:
Reading device descriptor:
length: 18
device class: 0
S/N: 3
VID:PID: 04D8:FA2E
bcdDevice: 0001
iMan:iProd:iSer: 1:2:3
nb confs: 1
Reading configuration descriptors:
nb interfaces: 1
interface[0]: id = 0
interface[0].altsetting[0]: num endpoints = 2
Class.SubClass.Protocol: 00.00.00
endpoint[0].address: 01
max packet size: 0020
polling interval: 00
endpoint[1].address: 81
max packet size: 0020
polling interval: 00
interface[0].altsetting[1]: num endpoints = 2
Class.SubClass.Protocol: 00.00.00
endpoint[0].address: 01
max packet size: 0040
polling interval: 00
endpoint[1].address: 81
max packet size: 0040
polling interval: 00
Claiming interface 0...
Reading string descriptors:
String (0x01): "Travis Robinson"
String (0x02): "Benchmark Device"
String (0x03): "LUSBW1"
Releasing interface 0...
Closing device...
Saturday, March 10, 2012
Mac Mini 2011 Impression
My 3-year old Acer Desktop (running Windows Vista, Windows 7, Ubuntu Linux and Arch Linux) died in the end of 2011 and I decided to try Mac OS X instead as my main home desktop. The cheapest option from Apple is Mac Mini 2011 and I chose to buy the cheapest option at S$788 ( http://www.apple.com/sg/macmini/ ).
The spec is fine for me, Intel Core i5 2.3GHz, 2GB DDR3 RAM, 500GB 5400rpm HDD, built-in Intel HD3000 graphics, 802.11n WiFi, Bluetooth, Gigabit Ethernet, Thunderbolt, Firewire 800, USB 2.0, HDMI, SDXC Card Slot. I use it with a 20 inch Compaq monitor (resolution 1600 x 900), an Acer keyboard and a Logitech wireless USB mouse. The 4 USB ports are not enough for me so I use a USB hub as well. A cheap web camera is also attached. I also use a 1TB external USB HDD (Western Digital Mybook Essential) as the backup disk using Time Machine.
The weakest link is the 2GB DDR3 RAM which I intend to upgrade soon. Mac OS X Lion is 64bit and it seems to require more ram than Windows 7 x64. USB 3.0 would be nice but we may have to wait for next-generation Intel chipset with USB 3.0 built-in.
I have no problems with the Mac Mini so far after 3 months of use other than than the occasional slow response which I hope to fix after upgrading the RAM.
Under Windows and Linux, I usually use Firefox as the main Internet browser with Chrome as the backup. But with this Mac Mini, I tend to use Safari more often.
I have no problem to build applications (e.g.: libusb, libftdi, OpenOCD, pyusb, etc) with Mac Homebrew since I am familiar with the terminal environment under Linux and Windows (Cygwin/MSys).
MPlayerX and VLC are the two main video player for me. iTune is also used occasionally.
I have Microsoft Office for Mac 2011 installed but I am not using it very often.
The App Store for Mac is quite convenient, however not many apps are available for Mac OS X compared to iOS ( I have an iPad 2).
Edit: upgraded to 8GB RAM (4GB x 2) and now it funs much more smooth. I also installed VirtualBox and then quite a few VMs (Windows and Linux) and they work fine. Good thing is that USB seems to work fine as well under VirtualBox.
The spec is fine for me, Intel Core i5 2.3GHz, 2GB DDR3 RAM, 500GB 5400rpm HDD, built-in Intel HD3000 graphics, 802.11n WiFi, Bluetooth, Gigabit Ethernet, Thunderbolt, Firewire 800, USB 2.0, HDMI, SDXC Card Slot. I use it with a 20 inch Compaq monitor (resolution 1600 x 900), an Acer keyboard and a Logitech wireless USB mouse. The 4 USB ports are not enough for me so I use a USB hub as well. A cheap web camera is also attached. I also use a 1TB external USB HDD (Western Digital Mybook Essential) as the backup disk using Time Machine.
The weakest link is the 2GB DDR3 RAM which I intend to upgrade soon. Mac OS X Lion is 64bit and it seems to require more ram than Windows 7 x64. USB 3.0 would be nice but we may have to wait for next-generation Intel chipset with USB 3.0 built-in.
I have no problems with the Mac Mini so far after 3 months of use other than than the occasional slow response which I hope to fix after upgrading the RAM.
Under Windows and Linux, I usually use Firefox as the main Internet browser with Chrome as the backup. But with this Mac Mini, I tend to use Safari more often.
I have no problem to build applications (e.g.: libusb, libftdi, OpenOCD, pyusb, etc) with Mac Homebrew since I am familiar with the terminal environment under Linux and Windows (Cygwin/MSys).
MPlayerX and VLC are the two main video player for me. iTune is also used occasionally.
I have Microsoft Office for Mac 2011 installed but I am not using it very often.
The App Store for Mac is quite convenient, however not many apps are available for Mac OS X compared to iOS ( I have an iPad 2).
Edit: upgraded to 8GB RAM (4GB x 2) and now it funs much more smooth. I also installed VirtualBox and then quite a few VMs (Windows and Linux) and they work fine. Good thing is that USB seems to work fine as well under VirtualBox.
Saturday, August 13, 2011
Interesting discussions about Linux
http://fossforce.com/2011/08/top-10-things-linux-users-dont-understand/
The post itself is not that interesting and kind of dumb. But the comments sections are much more interesting. The best comment is from "linuxlover" on August 12th, 2011 at 11:05 am.
I use both Windows and Linux and kind of neutral. Windows has many problems. Linux has many problems as well. Linux has many advantages. Windows has many advantages as well.
********* Quote "linuxlover" *****************
Advantages of Linux
1. App bugs will get fixed when a new student takes over from the one that graduated and got a job.
2. The packaging chaos will get fixed, since the Darwinian process works (only needs a few million years).
3. The desktop chaos will get fixed for the same reason.
4. Linux distros will stop competing with each-other and start focusing on Microsoft.
5. Ubuntu’s 80,000 open bugs will make them releasing when ready instead of every 6 months.
6. Instead of dozens of half-finished programs for a given application, there will be 1-2 really excellent ones.
7. Unity may get modified to be effective for monitors over 800 pixels.
8. Compiz may get fixed for high-speed window updates.
9. A serious standards body will develop and enforce sensible standards (packaging, desktop, libraries, binary API, GUI API).
10. If you are having problems, you can choose from hundreds of distros that will have different problems.
I actually use and enjoy Linux, but let’s face the problems honestly.
**********************************************
The post itself is not that interesting and kind of dumb. But the comments sections are much more interesting. The best comment is from "linuxlover" on August 12th, 2011 at 11:05 am.
I use both Windows and Linux and kind of neutral. Windows has many problems. Linux has many problems as well. Linux has many advantages. Windows has many advantages as well.
********* Quote "linuxlover" *****************
Advantages of Linux
1. App bugs will get fixed when a new student takes over from the one that graduated and got a job.
2. The packaging chaos will get fixed, since the Darwinian process works (only needs a few million years).
3. The desktop chaos will get fixed for the same reason.
4. Linux distros will stop competing with each-other and start focusing on Microsoft.
5. Ubuntu’s 80,000 open bugs will make them releasing when ready instead of every 6 months.
6. Instead of dozens of half-finished programs for a given application, there will be 1-2 really excellent ones.
7. Unity may get modified to be effective for monitors over 800 pixels.
8. Compiz may get fixed for high-speed window updates.
9. A serious standards body will develop and enforce sensible standards (packaging, desktop, libraries, binary API, GUI API).
10. If you are having problems, you can choose from hundreds of distros that will have different problems.
I actually use and enjoy Linux, but let’s face the problems honestly.
**********************************************
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.
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;
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.
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.
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.
Sunday, May 1, 2011
Gnome 3 and Gnome Shell First Impression
I just updated my Arch Linux installation and it has Gnome 3 by default. I followed the Arch Wiki about Gnome 3 for the installation and it went smooth.
As for the first impression, it is at least much better than Ubuntu Unity interface. For one thing, it does not have the annoying Global Menu. However, I still prefer the old Gnome 2 interface. Anyway, the new interface is at least tolerable, not like Ubuntu Unity. I think I can get used to it soon even though I still miss the Gnome Panel Applets.
I tend to think Unity is one way for Ubuntu to differentiate it from other Linux distros, let's wait and see if that really pans out well for Ubuntu or not.
Notes added on 17 July 2011: however, the problem is with the Nvidia driver. Gnome 3 just does not work well with the Nvidia driver right now under Arch Linux. So I have to switch back to the Fall Back mode.
As for the first impression, it is at least much better than Ubuntu Unity interface. For one thing, it does not have the annoying Global Menu. However, I still prefer the old Gnome 2 interface. Anyway, the new interface is at least tolerable, not like Ubuntu Unity. I think I can get used to it soon even though I still miss the Gnome Panel Applets.
I tend to think Unity is one way for Ubuntu to differentiate it from other Linux distros, let's wait and see if that really pans out well for Ubuntu or not.
Notes added on 17 July 2011: however, the problem is with the Nvidia driver. Gnome 3 just does not work well with the Nvidia driver right now under Arch Linux. So I have to switch back to the Fall Back mode.
Friday, April 29, 2011
Ubuntu 11.04 -- Unity Interface is not usable
I have just updated my Ubuntu 10.10 installation to 11.04. To be honest, I do not like the new Unity interface. I would say the old Gnome interface is much easier to use. Windows 7 is also way better. I might be able to get used to it in the future, but for now I will go back to the classic desktop and wait for Ubuntu to fix the Unity interface.
Major problems:
1) The launcher is basically useless, the autohide works too well so that it does not come out when I need it from time to time.
2) Software center is getting better but I still prefer Synaptic. Anyway, Synaptic is still there.
3) There is no "Show Desktop" icon. This is not that bad but still I prefer to have it.
4) I miss the gnome-panel applets.
5) I do not like the global menu. This is the most annoying feature. I do not have a Mac and I am not used to this "feature".
6) I do not quite like Dash, I prefer the old Gnome menu system where I can access the applications with less mouse clicks.
Anything I like about Unity? Nothing!
I think Unity will be like KDE 4 when it was first launched (I still do not install KDE now) and it will take some time for Ubuntu to fix it. Maybe Ubuntu Unity can get usable next year, say 12.04.
Anyway, there seems to be a good guide for those who want to use Unity.
http://castrojo.tumblr.com/post/4795149014/the-power-users-guide-to-unity
Edits on 1 May 2011:
After disable the global menu and fix the launcher to never hide and add some common application to the Launcher, the Unity Interface is at least tolerable again.
Still need to find a way to move the maximize/minize/close buttons to the right when application is maximized. When it is not maximized, the buttons are on the right which is fine, but they move to the left when the application is maximized. This is quite annoying.
Notes on 17 July 2011:
Enabled the global menu for a while and still does not like it very much, but it can be tolerable now. And I keep the maximize/minimize/close button to the default left side now.
So Unity interface is usable now, but still not that good.
Major problems:
1) The launcher is basically useless, the autohide works too well so that it does not come out when I need it from time to time.
2) Software center is getting better but I still prefer Synaptic. Anyway, Synaptic is still there.
3) There is no "Show Desktop" icon. This is not that bad but still I prefer to have it.
4) I miss the gnome-panel applets.
5) I do not like the global menu. This is the most annoying feature. I do not have a Mac and I am not used to this "feature".
6) I do not quite like Dash, I prefer the old Gnome menu system where I can access the applications with less mouse clicks.
Anything I like about Unity? Nothing!
I think Unity will be like KDE 4 when it was first launched (I still do not install KDE now) and it will take some time for Ubuntu to fix it. Maybe Ubuntu Unity can get usable next year, say 12.04.
Anyway, there seems to be a good guide for those who want to use Unity.
http://castrojo.tumblr.com/post/4795149014/the-power-users-guide-to-unity
Edits on 1 May 2011:
After disable the global menu and fix the launcher to never hide and add some common application to the Launcher, the Unity Interface is at least tolerable again.
Still need to find a way to move the maximize/minize/close buttons to the right when application is maximized. When it is not maximized, the buttons are on the right which is fine, but they move to the left when the application is maximized. This is quite annoying.
Notes on 17 July 2011:
Enabled the global menu for a while and still does not like it very much, but it can be tolerable now. And I keep the maximize/minimize/close button to the default left side now.
So Unity interface is usable now, but still not that good.
Thursday, April 28, 2011
OpenUSB is alive again
After a long gap, Michael Lewis just announced the release
of OpenUSB 1.1.1.
Website: http://sourceforge.net/projects/openusb.
Highlights of the release:
1) Removed the HAL/DBUS dependency for hotplug events.
2) Improved kernel version checking for the bulk continuation flag.
3) Improved support for zero byte transfers
4) Changed the maximum control transfer size to 4096
According to Michale, these changes are primarily in response to making OpenUSB compatible with the latest distributions.
Compared to libusb-1.0, OpenUSB is not used by many projects. However, it does have two advantages compated to libusb-1.0. It also claims to have better multi-threading support.
1) Hotplug support
2) Solaris support
libusb-1.0 is more widely used and the Windows backend will bring even more users for libusb-1.0. However, it is also good to see that OpenUSB is still alive. If Windows support for OpenUSB is done within a reasonable timeframe, then it would be even better.
of OpenUSB 1.1.1.
Website: http://sourceforge.net/projects/openusb.
Highlights of the release:
1) Removed the HAL/DBUS dependency for hotplug events.
2) Improved kernel version checking for the bulk continuation flag.
3) Improved support for zero byte transfers
4) Changed the maximum control transfer size to 4096
According to Michale, these changes are primarily in response to making OpenUSB compatible with the latest distributions.
Compared to libusb-1.0, OpenUSB is not used by many projects. However, it does have two advantages compated to libusb-1.0. It also claims to have better multi-threading support.
1) Hotplug support
2) Solaris support
libusb-1.0 is more widely used and the Windows backend will bring even more users for libusb-1.0. However, it is also good to see that OpenUSB is still alive. If Windows support for OpenUSB is done within a reasonable timeframe, then it would be even better.
Subscribe to:
Posts (Atom)