Patches for Wischip Go7007 Linux Driver

The wis-go7007 driver, used with the Plextor TV-402U and other MPEG hardware encoding devices, seems to be in a state of no support. I'm going to try and collect the drivers and patches here as long as I have interest in this hardware.

Driver

The last released driver was version 0.9.8. I offer it here because even the "official" source website seems to be down.

wis-go7007-linux-0.9.8.tar.bz2 [134KB - md5sum dbeaceae423972140d6a5107a1f586ec]

Patch 1 - as of 2.6.17

You'll need this patch for kernel 2.6.17. I mirror this, but didn't write it:

wis-go-0.9.8-2.6.17.patch [2.5KB - md5sum 83d3108be840a45871c195a25c4de4ca]

Patch 2 - as of 2.6.18

Several include files and constants changed as of 2.6.18. You'll need this patch for 2.6.18 and above (but not the first patch):

wis-go7007-updates.diff [8.0KB - md5sum 65ca94649d7a531b18e7395acdc584ea]

Patch 3 - as of 2.6.21

This third patch (by a third party, not me) is required at least for 2.6.21 and above. You will need to apply Patch 2 first. This combo of patch 2 plus patch 3 will work through 2.6.23. The original author's site seems down too, so I mirror here:

wis-go7007-2.6.21-typdefs.diff [1KB - md5sum 8e0eab7a8c421ae988d8a969230150aa]

Patch 4 - as of 2.6.24

As of 2.6.24, i2c_algorithm.algo_control() was removed from the kernel because it was (nearly) unused. It appears to be allocated but not used in in the go7007 driver, causing compilation to fail. I made this patch to remove the code and it compiles and seems to work fine. You'll need this, in addition to patch two and patch three, for 2.6.24 and later:

wis-go7007-2.6.24-no_algo_control.diff [1.6KB - md5sum f935e01688bac21573af4b7cdcfc451e]

Patch 5 - as of 2.6.26

As of 2.6.26, the 'NOPAGE_SIGBUS' macro was removed from the kernel. This will cause failure of the wis-go7007 driver to compile. Here is the commit [external link] that broke it. The only solution within my means is to remove the offending code. I suspect this code was only called during a debug trace. You'll need this, in addition to patch two, three and four, for 2.6.26 and later.

wis-go7007-2.6.26-nopage.diff [871B - md5sum e4c7bc33d6e69eafc10bd107cf648828]

Patch 6 - as of 2.6.27

Tom Shield has made a patch for our series based on info here [external link]. You'll need this, in addition to patch two, three, four and five, for 2.6.27 and later.

wis-go7007-linux-0.9.8-2-2.6.27.patch [3.2kB - md5sum 3b89d8746adf70102eeeb47d03627ece]

Note: this patch compiles and works for 2.6.28. However, I am getting kernel oops/panic lockups (having found the cause -- it seems quite random, a few times a day).

Patch 7 - all versions

This is another patch from nikosapi's site. I did see any stability improvements from using it, but it is an obvious code error and is worth applying (probably for all kernel versions).

tuner-fix.patch [<1kB - md5sum 0fd94f3976876e681068ff678e4b342a]

Patch 8 - as of 2.6.29

As of 2.6.29, the `inode` parameter has been removed from video_usercopy() in v4l2_ioctl.h. I've patched the driver to remove this, but there are a lot of deprecation warnings. The driver builds and installs but there are also many errors in the syslog, so more work is needed. It's only a matter of time before this driver needs major repair.

wis-go7007-linux-0.9.8-2.6.29.patch [<1kB - md5sum 389981a6ebd14cd4fe35d1df93852614]

Patches for gorecord application

Unfortunately, not many developers have supported MPEG-in-hardware devices yet, so we're stuck with gorecord. As supplied with the SDK/drivers, it has no provisions for "live" viewing or more importantly, for A-V sync. There are patches that fix both of these problems here:

http://colabti.org/convertx/ [external link]

Other patches and development

Jeff sends this patch [5KB - md5sum 6225630f46a69f6c7e0fe97f7dcae7ec], as hope of getting the drivers to work with the ADS DVDXpress DX2. I can't vouch for this, but I provide it for reference.

I've noticed that the go7007 driver had been added to Greg Kroah-Hartman's linux-staging tree [external link], as of 2.6.26-rc7.

From: Greg KH <greg@kroah.com>
To: linux-kernel@vger.kernel.org
Subject: linux-staging for 2.6.26-rc7
Date: Sat, 21 Jun 2008 01:50:54 -0700
 
[...]
For details about what the linux-staging tree is, how to use it, and the rules for it, please see the README file in the git tree at: http://git.kernel.org/?p=linux/kernel/git/gregkh/staging.git

Links

go7007.imploder.org - alternative source for patched drivers
http://nikosapi.org/ - hardware info and wiki.

Contact

There you have it. Good luck!

bender647@yahoo.com

Please note, I am not a developer -- I am just making very minor modifications to existing driver code to allow it to compile with the latest kernels. I likely can't help you get this driver working with other hardware. I don't have any chip datasheets or hardware documentation.

Those of you coming from nikosapi's site [external link], I do have his email address but don't have permission to distribute it. I can say that it is a guessable email address.