Older blog entries for Marcus (starting at number 120)

Was at the open-door day of our local Tram guys ... 125 year of trams . Visiting the tram storage area, repair shops... Entertainment including a horse tram. :)

Found out about Microsoft embracing the USB world with Microsoft OS USB Descriptors. How to detect a MTP device?

  • Query the string descriptor at offset 0xee, index 0.
    There is a signature (MSFT0001) and then there is a cmd byte.
  • read on here
  • Don't know the layout of the Extended Device Descriptor and Extended Property Descriptor there yet.
7 May 2006 (updated 7 May 2006 at 10:29 UTC) »

If you are interested in not yet so well documented standards regarding PTP digital cameras, there is some tradesecret leakage here:

The planetsuse.org RSS feed seems to be down, the planet itself is not... strange.

Wonderful spring weekend here in frankonia. At least the sunday ... Went inline skating with a good friend of mine to the best inline skating place in town. The Reichsparteitagsgelaende around the Dutzendteich in Nuernberg with a large asphalt place right in front of the tribune, home of skate hockey, skate tricks etc during the warm days.

Finished splitting of sane.ds from twain_32.dll. Submitted it, but it got not accepted before Alexandres vacation.

Finished my first draft of a gphoto2.ds (gphoto2 TWAIN source). Half of the programs can now import photos from cameras. Only one half, because while one transfer mode imagememxfer) works, the other (imagenativexfer) returns a handle which the callers do not like. It should return a handle for a DIB section, and it does ... But apparently in Windows these handles are different. This is going to be fun to fix. NOT.

Happy springtime. :)

Spent easter weekend at parents... without Internet, but with Laptop. So the WINE 0.9.12 SUSE packages have been a bit late, but are on Sourceforge and the ftp.suse.com/pub/people/ mirrors now.
For additional fun I now provide YUM metadata,

Add the YUM source ftp://ftp.suse.com/pub/people/meissner/wine/10.0/ (or 10.1) to get updates via YUM.

I spent the train travel and some quiet times hacking on several things:

  • More Nikon DSLR remote controllability. There are like 100 options to remote control on the Nikons, and libgphoto2 now supports like 90 of them.
  • MTP device meta data handling. MTP devices provide metadata, like Artist, Genre, Duration, etcetc... In a sideband from the actual MP3 file on the player. You need to call special functions to retrieve or send those databits from/to the device. I have enhanced libgphoto2 (and gphoto2) to allow a sideband "METADATA" stream to get and put those attributes.
  • Some speed tests on libgphoto2 ... It is taking quite some time to retrieve even the list of cameras. Serial device locking taking way too long, shared library loading and freeing madness, etc... all take its toll.
  • On the WINE side I spent some time splitting off the sane support from the twain_32.dll implementation. Two ideas for this: Add a libgphoto2 interface and allow native twain drivers. The latter are not terribly useful before getting their USB kernel level drivers to load, but it opens new possibilities.
Off for a new week with new security horrors.
8 Apr 2006 (updated 9 Apr 2006 at 10:19 UTC) »

Finally bitten the bullet and created a page of (libgphoto2) remote controllable cameras.

Your input is very welcome here, just drop me a mail if you have changes, additions or layout suggestions.

This is yet another time consuming activity. :/

Later today: Foto Safari through the Nuernberg Tiergarten/Zoo.

Finally received my new camera. My first DSLR, a Nikon D70s with the standard Kit 18-70mm objective. Now trying to familarize with it and take it out to Nuernberg walks with photo opportunities.

I made more of it configurable, but it has like 60 remote controllable configuration options... You can control everything that is configurable on the camera. Only the focal length you still have to pull by hand (at least with my objective).

On the WINE side ... 0.9.11 is out and I built the new RPMs for it. Now also with RPMs for the upcoming SUSE Linux 10.1. I tried debugging Google Earth, or better, where to make it confine the GL output into a subwindow ... But no dice so far.

I also bought a Creative Zen Microphoto for MTP device work. Applied several fixes which should make all Creative MTP devices work now with libgphoto2. Got notified of weird iRiver MTP firmware which violates the MTP protocol (and we need to hack around somehow :(). Coming soon here: MTP meta data retrieval and setting.

Regarding the LWN article &building the whole debian archive with GCC 4.1&...

Folks, SUSE Linux 10.1 (coming out soon) is compiled with GCC 4.1, and together with SLE 10 building all packages on: i586, x86_64, ia64, s390, s390x, ppc, ppc64 and we were tracking the GCC 4.1 development pretty closely and helping to fix the bugs. Redhat does the same thing. So that it builds lots of packages without much problems is not just thanks to the GCC team but also thanks to SUSE, Redhat, Gentoo, and other early adopters.

Hah, found the problem...

This patch makes the EHCI driver not support writes from userland with len==0 before 2.6.16.

And did I mention I stared for hours at the 2.6.16 driver version while testing against the 2.6.13 driver? *sigh*

Warm weekend ... So lots of outdoor activity.

However also some hacking...

I polished up my notes on the PTP/IP protocol. Portions of it are implemented in libgphoto2 already (usable for download from my Nikon P2 already).

I bought a Creative Zen Microphoto, a player supporting MTP. Found some bugs in the upload code, notably that mp3s were not mapped to the ptp PTP_OFC_MP3 object code.

Also on USB 2 interfaces there is a problem with uploading files dividable by 512 byte (the maxpacket size). The problem is that PTP / MTP requires a short write or NULL packet to finish sending of data. libgphoto2 currently does not do it.

Some devices seem to be able to cope without, some others don't. The MTP players on USB 2.0 (ehci) apparently do not. :(

An empty write helps on OHCI, but not on EHCI.

Happy St. Patricks day!

March ... Brainshare time. (Novell mains customer fair in Salt Lake City). Almost every Novell employee is there, at least if he/she is in Utah.

I am not, for reasons of budget and not really needing to be there. And I am happy too, because up to now I lived 32 years without having my fingerprints taken and I hope this stays so for a while.

Otherwise a quite busy week, discounting 2 days sickleave being down with the common cold.

Spring is still not arriving, but hopefully next week.

Now off for some Guinness with colleagues and good old friends.

111 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!