<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Weblog of Michael Cutler &#187; Hardware</title>
	<atom:link href="http://blog.lobstertechnology.com/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lobstertechnology.com</link>
	<description>"I felt a great disturbance in the Force, as if millions of peers suddenly cried out in terror and were suddenly silenced."</description>
	<lastBuildDate>Tue, 17 Oct 2006 14:40:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>DVB Support for the Videolan Client (VLC) on Fedora Core 5</title>
		<link>http://blog.lobstertechnology.com/2006/10/06/dvb-support-for-the-videolan-client-on-fedora-core-5/</link>
		<comments>http://blog.lobstertechnology.com/2006/10/06/dvb-support-for-the-videolan-client-on-fedora-core-5/#comments</comments>
		<pubDate>Fri, 06 Oct 2006 11:57:01 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[Fedora]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/10/06/dvb-support-for-the-videolan-client-on-fedora-core-5/</guid>
		<description><![CDATA[The version of the Videolan Client (VLC) for Fedora Core 5 from freshrpms does not include DVB support. 
[foo@localhost ~]$ vlc --program 4704 dvb:12207000:0:3:27500000
VLC media player 0.8.5 Janus
status change: ( new input: dvb:12207000:0:3:27500000 )
status change: ( audio volume: 256 )
status change: ( play state: 1 )
[00000295] main input error: no suitable access module for `dvb:12207000:0:3:27500000'
status [...]]]></description>
			<content:encoded><![CDATA[<p>The version of the <a href='http://www.videolan.org/'>Videolan Client (VLC)</a> for Fedora Core 5 from <a href='http://bordeaux.freshrpms.net/rpm.html?id=1183'>freshrpms</a> does not include DVB support. </p>
<p><code>[foo@localhost ~]$ vlc --program 4704 dvb:12207000:0:3:27500000<br />
VLC media player 0.8.5 Janus<br />
status change: ( new input: dvb:12207000:0:3:27500000 )<br />
status change: ( audio volume: 256 )<br />
status change: ( play state: 1 )<br />
<strong>[00000295] main input error: no suitable access module for `dvb:12207000:0:3:27500000'</strong><br />
status change: ( stop state: 0 )<br />
[00000285] main playlist: nothing to play</code></p>
<p>A quick search through the <a href='http://www.videolan.org/'>VLC</a> <a href='http://www.videolan.org/doc/videolan-howto/en/ch06.html'>Documentation</a> shows it must be rebuilt with the ‘experimental’ <code>--enable-dvb</code> option.</p>
<p>I took the <a href='http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/5/videolan-client/videolan-client-0.8.5-1.fc5.src.rpm'>source RPM</a> from <a href='http://freshrpms.net/'>Freshrpms</a>, added the <code>--enable-dvb</code> option on the <code>./configure</code> line and attempted to rebuild.</p>
<p>Assuming you have an up to date Fedora Core 5 installation, working DVB hardware with the necessary drivers. To do this you will need (at least) the following packages installed:</p>
<p><code>gnutls-devel libdvdread-devel libdvdnav-devel libebml-devel libmatroska-devel libmodplug-devel libmad-devel libid3tag-devel lame-devel faac-devel faad2-devel a52dec-devel flac-devel mpeg2dec-devel speex-devel libtheora-devel x264-devel SDL_image-devel fribidi-devel aalib-devel libcaca-devel wxGTK-devel xosd-devel lirc-devel libcdio-devel vcdimager-devel avahi-devel libopendaap-devel libmpcdec-devel libcddb-devel libdca-devel</code></p>
<p>These are available from the core &#038; extras Fedora repositories, some are located in the <a href='http://atrpms.net/'>ATrpms</a> &#038; <a href='http://freshrpms.net/'>Freshrpms</a> repositories.</p>
<p>Build the new RPM with the following:</p>
<p><code>[root@localhost ~]# rpmbuild –ba /usr/src/redhat/SPECS/videolan-client.spec</code></p>
<p>To install the new RPM I had to <code>--force –nodeps</code> the RPM transaction:</p>
<p><code>[root@localhost ~]# rpm -U --force --nodeps videolan-client-0.8.5-1.fc5.i386.rpm videolan-client-devel-0.8.5-1.fc5.i386.rpm</code></p>
<p>This time when I retry launching VLC I got the following:</p>
<p><code>[foo@localhost ~]$ vlc --program 4704 dvb:12207000:0:3:27500000<br />
VLC media player 0.8.5 Janus<br />
[00000544] skins2 interface error: Cannot open display<br />
[00000544] skins2 interface error: cannot initialize OSFactory<br />
Remote control interface initialized. Type `help' for help.<br />
<strong>[00000548] dvb access error: the DVB input old syntax is deprecated, use vlc -p dvb to see an explanation of the new syntax</strong></code></p>
<p>It turns out that the VLC <a href='http://www.videolan.org/doc/videolan-howto/en/ch06.html'>documentation</a> is rather outdated. After poking around in the VLC user interface I extracted the necessary command-line arguments to make it work.</p>
<p>The following command line execution of VLC will tune to the frequency 12.207Ghz, vertical polarisation, symbol rate 27.5Mhz with an ‘automatic’ FEC and select program 4704 (Sky News).</p>
<p><code>[foo@localhost ~]$ vlc --program=4704 dvb:// :dvb-adapter=0 :dvb-frequency=12207000 :dvb-srate=27500000 :dvb-caching=300 :dvb-inversion=2 :dvb-probe :dvb-voltage=13 :no-dvb-high-voltage :dvb-tone=-1 :dvb-fec=9 :dvb-code-rate-hp=9</code></p>
<p>And this variation will stream it over UDP to localhost port 1234.</p>
<p><code>[foo@localhost ~]$ vlc --program=4704 dvb:// :dvb-adapter=0 :dvb-frequency=12207000 :dvb-srate=27500000 :dvb-caching=300 :dvb-inversion=2 :dvb-probe :dvb-voltage=13 :no-dvb-high-voltage :dvb-tone=-1 :dvb-fec=9 :dvb-code-rate-hp=9 :sout=\#duplicate\{dst=std\{access=udp,mux=ts,dst=127.0.0.1:1234\}\}</code></p>
<p>And without further a do, the pre-built RPMS and modified source RPM I created.</p>
<p>Binary RPM:</p>
<p><a href='http://lobstertechnology.com/RPMS/videolan-client/videolan-client-0.8.5-1.fc5.i386.rpm'><strong>videolan-client-0.8.5-1.fc5.i386.rpm</strong><strong></strong></a><br />
<a href='http://lobstertechnology.com/RPMS/videolan-client/videolan-client-devel-0.8.5-1.fc5.i386.rpm'>videolan-client-devel-0.8.5-1.fc5.i386.rpm</a><br />
<a href='http://lobstertechnology.com/RPMS/videolan-client/videolan-client-debuginfo-0.8.5-1.fc5.i386.rpm'>videolan-client-debuginfo-0.8.5-1.fc5.i386.rpm</a></p>
<p>Source RPM:</p>
<p><a href='http://lobstertechnology.com/RPMS/videolan-client/videolan-client-0.8.5-1.fc5.src.rpm '>videolan-client-0.8.5-1.fc5.src.rpm</a></p>
<p>Lastly, you can select multiple programs from the same transponder and stream them to separate destination addresses, see the example in <a href='http://www.videolan.org/doc/streaming-howto/en/ch09.html'>Chapter 9</a> of the VLC documentation.</p>
<p>Feedback &#038; Questions welcomed!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/10/06/dvb-support-for-the-videolan-client-on-fedora-core-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IT Terminology &#8211; Hard Drive Jenga</title>
		<link>http://blog.lobstertechnology.com/2006/07/14/it-terminology-hard-drive-jenga/</link>
		<comments>http://blog.lobstertechnology.com/2006/07/14/it-terminology-hard-drive-jenga/#comments</comments>
		<pubDate>Fri, 14 Jul 2006 12:51:21 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Terminology]]></category>
		<category><![CDATA[Thoughts]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/07/13/it-terminology-hard-drive-jenga/</guid>
		<description><![CDATA[Hard Drive Jenga
A term used to describe removal of Hard Drives from a RAID storage array where the objective of the game is to remove as many drives as possible without the array collapsing causing catastrophic data loss. Not for the faint hearted!
Not to be confused with Hard Drive Dominoes (another fine example).
]]></description>
			<content:encoded><![CDATA[<p><strong>Hard Drive Jenga</strong></p>
<p>A term used to describe removal of Hard Drives from a RAID storage array where the objective of the game is to remove as many drives as possible without the array collapsing causing catastrophic data loss. Not for the faint hearted!</p>
<p>Not to be confused with <a href="http://www.youtube.com/watch?v=BGk7FO10f6c">Hard Drive Dominoes</a> (<a href="http://www.youtube.com/watch?v=nYKITJbf0PY">another fine example</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/07/14/it-terminology-hard-drive-jenga/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Update: TI 7×21 FlashMedia/SD Host Controller (104C:8033 &amp; 104C:8034)</title>
		<link>http://blog.lobstertechnology.com/2006/03/01/update-on-ti-7x21-flashmedia-sd-host-controller-104c-8033/</link>
		<comments>http://blog.lobstertechnology.com/2006/03/01/update-on-ti-7x21-flashmedia-sd-host-controller-104c-8033/#comments</comments>
		<pubDate>Wed, 01 Mar 2006 00:21:24 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[AMD64]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Uncategorised]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/03/01/update-on-ti-7x21-flashmedia-sd-host-controller-104c-8033/</guid>
		<description><![CDATA[Bit of an update, my previous post is now getting a significant amount of traffic; in fact it’s my hottest post yet!
Progress over at http://tifmxx.berlios.de/ &#8211; I downloaded the latest revision of this driver and it appears to be going through re-structuring, still not-functional I am afraid.
However, a month since contacting TI I received a [...]]]></description>
			<content:encoded><![CDATA[<p>Bit of an update, my <a href='http://blog.lobstertechnology.com/2006/01/25/ti-7x21-flashmedia-sd-host-controller-104c-8033/'>previous post</a> is now getting a significant amount of traffic; in fact it’s my hottest post yet!</p>
<p>Progress over at <a href="http://tifmxx.berlios.de/">http://tifmxx.berlios.de/</a> &#8211; I downloaded the latest revision of this driver and it appears to be going through re-structuring, still not-functional I am afraid.</p>
<p>However, a month since contacting TI I received a response to my telephone-based support request by email.</p>
<blockquote><p>From: support@ti.com</p>
<p> Hello Michael,</p>
<p> I am sorry TI doesn&#8217;t support software drivers for cardbus devices,<br />
please see below for more details on this:</p>
<p> TI PC Card, Flash Media, IEEE 1394 and Smart Card Controller<br />
Devices:</p>
<p> Texas Instruments (TI) I does not develop software drivers for<br />
these multi-function controllers. Our devices are used in Personal<br />
Computers and add-in cards from many manufacturers. These<br />
manufacturers include drivers from Microsoft and, for certain<br />
platforms, from the Linux community that enable the PC Card and 1394<br />
functions in these TI devices. Texas Instruments does not provide<br />
drivers for Windows, Linux or any other operating system.</p>
<p> If you are encountering difficulties with your PC or add-in card,<br />
please contact the manufacturer for support. Texas Instruments does<br />
not provide any support for these end products.</p>
<p> If you require drivers for Flash Media or Smart Card you need to<br />
contact the PC manufacturer. TI does not provide drivers for atypical<br />
system applications.</p>
<p> Additional information</p>
<p> To find the manufacturer of the card, use the FCC&#8217;s web page<br />
http://www.fcc.gov/oet/fccid/ to search for the FCC ID number printed<br />
on the bottom of the card. If it came preinstalled, please contact<br />
the store where you purchased the computer.</p>
<p> Third-party vendors have developed Card &#038;Socket Services driver<br />
support for other operating systems.  These vendors include Phoenix<br />
Technologies/Award Software, and SystemSoft:</p>
<p> Microsoft<br />
www.microsoft.com           800-426-9400</p>
<p> Award Software/Phoenix Technologies                www.phoenix.com<br />
           800-677-7305</p>
<p> Systemsoft Corp.<br />
www.systemsoft.com          800-796-0088</p>
<p> Softex, Inc.<br />
www.softexinc.com            512-452-8836</p>
<p> Best Regards,<br />
Sandeep.</p>
<p> TI assumes no liability for applications assistance or customer<br />
product design. Customer is fully responsible for all design<br />
decisions and engineering with regard to its products, including<br />
decisions relating to application of TI products. By providing<br />
technical information, TI does not intend to offer or provide<br />
engineering services or advice concerning Customer&#8217;s design. If<br />
Customer desires engineering services, the Customer should rely on<br />
its retained employees and consultants and/or procure engineering<br />
services from a licensed professional engineer (LPE).</p>
<p>***Please do not delete the below Thread ID when replying to this<br />
email, doing so will delay our response to your inquiry***</p>
<p>[SR THREAD ID:1-3RGCWY]</p>
<p> Dear Michael Cutler</p>
<p> Thank you for choosing Texas Instruments Technical Support.  Your<br />
case 1-227511394  has been resolved.  See the description below for<br />
details.</p>
<p> Would like Linux driver for this card. I told him we didn&#8217;t supply<br />
them and to contact PCMCIA, but he said that he knew somebody who had<br />
managed to get these from TI</p>
<p> Regards,</p>
<p> X0045551</p>
<p> Texas Instruments</p>
<p> Semiconductor Technical Support</p>
<p> http://www-k.ext.ti.com/sc/technical_support/pic/americas.htm</p>
<p> If you have further questions please reply to this email.</p>
<p> TI assumes no liability for applications assistance or customer<br />
product design. Customer is fully responsible for all design<br />
decisions and engineering with regard to its products, including<br />
decisions relating to application of TI products. By providing<br />
technical information, TI does not intend to offer or provide<br />
engineering services or advice concerning Customer&#8217;s design. If<br />
Customer desires engineering services, the Customer should rely on<br />
its retained employees and consultants and/or procure engineering<br />
services from a licensed professional engineer (LPE).<br />
***Please do not delete the below Thread ID when replying to this<br />
email, doing so will delay our response to your inquiry***<br />
[SR THREAD ID:1-3RGCWY]</p></blockquote>
<p>And my response.</p>
<blockquote><p>Dear Sandeep,</p>
<p>Thank you for taking the time to respond to my query. I appreciate that Texas Instruments (TI) does not tend to support end-users of your devices, especially with driver problems and believe me if it were that simple I would not be taking up your time today.</p>
<p>The reason I am contacting you is simple, I am trying to use my TI 7&#215;20/7&#215;21 Flash Media controller (PCI ID 104c:8033) within Linux. After a lot of research on the subject I discovered this page on the Everest Consultants Inc website. It suggests the Texas Instruments hired Everest to produce Linux Device Drivers for this particular chip; judging by the write up they have produced a well designed and much needed driver solution. I contacted Everest about obtaining this driver and they referred me to you.</p>
<p>http://www.everestinc.com/fml.htm</p>
<p>In the meantime I continued researching this on the internet and discovered an open source and “free” (as in freedom) effort to produce a driver for this device. Unfortunately it isn’t progressing particularly quickly because technical documentation on this chip is scarce.</p>
<p>http://tifmxx.berlios.de/</p>
<p>I also discovered another person who had managed to obtain a binary version of what are presumably the Everest-made drivers. It is also interesting to note that the ‘modinfo’ for the driver states it is under GPL (Gnu Public License) and as such, the source code should be available on demand.</p>
<p>http://www.webcon.ca/~imorgan/tifm21/</p>
<p>I have been recording my progress on my personal website. In the past seven days I have had 243 unique visitors who have searched for this device in relation to Linux and discovered my website and the record of my progress, a handful have contacted me directly about it.</p>
<p>There is a great demand for Linux support for this device, I would like to see either the Everest-made GPL driver source code made available or, extensive technical documentation &#8211; sufficient to allow open source developers to produce a driver &#8211; made available to the Open Source Community.</p>
<p>Yours Sincerely,</p>
<p>&#8211;<br />
Michael Cutler                      . o O ( http://blog.lobstertechnology.com/ )<br />
                                                                PGP: 0xC3ABA735</p></blockquote>
<p>I will follow up by calling them again during mainstream office hours and see where I can get myself transferred to this time. <img src='http://blog.lobstertechnology.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/03/01/update-on-ti-7x21-flashmedia-sd-host-controller-104c-8033/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sitecom CN-502 USB Bluetooth Dongle works on Linux</title>
		<link>http://blog.lobstertechnology.com/2006/02/02/sitecom-cn-502-usb-bluetooth-dongle-works-on-linux/</link>
		<comments>http://blog.lobstertechnology.com/2006/02/02/sitecom-cn-502-usb-bluetooth-dongle-works-on-linux/#comments</comments>
		<pubDate>Thu, 02 Feb 2006 18:25:10 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[AMD64]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/02/02/sitecom-cn-502-usb-bluetooth-dongle-works-on-linux/</guid>
		<description><![CDATA[To my absolute surprise, the Sitecom CN-502 USB Bluetooth Dongle works perfectly with out-of-the-box Fedora Core 4 x86_64. The lsusb output shows it’s a Cambridge Silicon Radio chip (0a12:0001) which is very widely used and well supported.
I bought this thing some time ago because of its protruding aerial; my original intention was to dismantle it [...]]]></description>
			<content:encoded><![CDATA[<p>To my absolute surprise, the Sitecom CN-502 USB Bluetooth Dongle works perfectly with out-of-the-box Fedora Core 4 x86_64. The <code>lsusb</code> output shows it’s a Cambridge Silicon Radio chip (0a12:0001) which is very widely used and well supported.</p>
<p>I bought this thing some time ago because of its protruding aerial; my original intention was to dismantle it and add a huge-gain antenna – Car Whisperer-esque &#8211; but I just haven&#8217;t got around to doing it.</p>
<p>The <code>lsusb</code> output:</p>
<p><code>Bus 003 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)</code></p>
<p>For completeness, here is the rest of my config:</p>
<p><code>$ uname -a<br />
Linux localhost 2.6.14-1.1656_FC4 #1 Thu Jan 5 22:13:55 EST 2006 x86_64 x86_64 x86_64 GNU/Linux<br />
$ rpm -q -a | grep -i bluez<br />
bluez-hcidump-1.18-1<br />
bluez-utils-2.15-7<br />
bluez-pin-0.24-2<br />
bluez-libs-2.15-1</code></p>
<p>And it working:</p>
<p><code>$ /etc/init.d/bluetooth start<br />
Starting Bluetooth services:                               [  OK  ]<br />
$ hcitool scan<br />
Scanning ...<br />
        00:XX:XX:XX:XX:XX       XXXXXXXX</code></p>
<p>Not bad since I found it in a bargain bucket!</p>
<p>Related Links:</p>
<p><a href=' http://www.sitecom.com/drivers_result.php?groupid=10&#038;productid=222'>Sitecom CN-502 Product Support</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/02/02/sitecom-cn-502-usb-bluetooth-dongle-works-on-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TI 7&#215;21 FlashMedia/SD Host Controller (104C:8033 &amp; 104C:8034)</title>
		<link>http://blog.lobstertechnology.com/2006/01/25/ti-7x21-flashmedia-sd-host-controller-104c-8033/</link>
		<comments>http://blog.lobstertechnology.com/2006/01/25/ti-7x21-flashmedia-sd-host-controller-104c-8033/#comments</comments>
		<pubDate>Wed, 25 Jan 2006 06:44:34 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[AMD64]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/01/25/ti-7x21-flashmedia-sd-host-controller-104c-8033/</guid>
		<description><![CDATA[Update: TI 7x21 FlashMedia/SD Host Controller (104C:8033 &#038; 104C:8034)
The Compaq R4100 series of laptops feature a 6-in-1 memory card reader based on the widely used Texas Instruments 7x21 chips. Although TI provides Windows drivers there is very little information available to assist in development of a free Linux device driver for it.
It appears that TI [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lobstertechnology.com/2006/03/01/update-on-ti-7x21-flashmedia-sd-host-controller-104c-8033/"><strong>Update: TI 7x21 FlashMedia/SD Host Controller (104C:8033 &#038; 104C:8034)</strong></a></p>
<p>The Compaq R4100 series of laptops feature a 6-in-1 memory card reader based on the widely used Texas Instruments 7x21 chips. Although TI provides Windows drivers there is very little information available to assist in development of a free Linux device driver for it.</p>
<p>It appears that TI actually contracted another company (<a href="http://www.everestinc.com/fml.htm">Everest</a>) to write a Linux device driver, although the write-up on their work shows great potential there is no sign of the driver or its source code. There is however a binary version of the driver built for the 2.6.11 kernel available <a href="http://www.webcon.ca/~imorgan/tifm21/">here</a> - unfortunately it's useless for me since I am running a 64-bit kernel.</p>
<p>I found a few promising leads while Googling where reverse engineering the Windows driver was helping development of a native kernel driver for it.</p>
<p><a href="http://tifmxx.berlios.de/">http://tifmxx.berlios.de/</a><br />
<a href="http://www.webcon.ca/~imorgan/tifm21/">http://www.webcon.ca/~imorgan/tifm21/</a></p>
<p>Unfortunately there is no fully working driver as yet, however the Subversion repository at tifmxx.berlios.de is very active, I checked out the latest revision of the code to test it out</p>
<p><code>make<br />
insmod tifmxx.ko<br />
</code><br />
returned:</p>
<p><code>tifmxx: Unknown symbol scsi_remove_host<br />
tifmxx: Unknown symbol pci_intx<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_ae<br />
tifmxx: Unknown symbol scsi_host_put<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_brs<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_card<br />
tifmxx: Unknown symbol scsi_add_host<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_af<br />
tifmxx: Unknown symbol scsi_host_alloc<br />
tifmxx: Unknown symbol __scsi_add_device<br />
tifmxx: Unknown symbol scsi_remove_host<br />
tifmxx: Unknown symbol pci_intx<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_ae<br />
tifmxx: Unknown symbol scsi_host_put<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_brs<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_card<br />
tifmxx: Unknown symbol scsi_add_host<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_af<br />
tifmxx: Unknown symbol scsi_host_alloc<br />
tifmxx: Unknown symbol __scsi_add_device</code></p>
<p>Trawling mailing-lists I found that "pci_intx" wasn't implemented by the kernel in version 2.6.11-1.1369 but it is in later releases like 2.6.14-1.1656 which I also tested with. To workaround this in 2.6.11-1.1369 the recommendation was to add the following code to the top of tifmxx_hw.c.</p>
<div class="igBar"><span id="lcpp-2"><a href="#" onclick="javascript:showPlainTxt('cpp-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">C++:</span>
<div id="cpp-2">
<div class="cpp">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> pci_intx<span style="color: #000000;">&#40;</span><span style="color: #0000ff;">struct</span> pci_dev *pdev, <span style="color: #0000ff;">int</span> enable<span style="color: #000000;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;u16 pci_command, <span style="color: #0000dd;">new</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;pci_read_config_word<span style="color: #000000;">&#40;</span>pdev, PCI_COMMAND, &amp;pci_command<span style="color: #000000;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;<span style="color: #0000ff;">if</span> <span style="color: #000000;">&#40;</span>enable<span style="color: #000000;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #0000dd;">new</span> = pci_command &amp; ~PCI_COMMAND_INTX_DISABLE;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;<span style="color: #0000ff;">else</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color: #0000dd;">new</span> = pci_command | PCI_COMMAND_INTX_DISABLE;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;<span style="color: #0000ff;">if</span> <span style="color: #000000;">&#40;</span><span style="color: #0000dd;">new</span> != pci_command<span style="color: #000000;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;pci_write_config_word<span style="color: #000000;">&#40;</span>pdev, PCI_COMMAND, pci_command<span style="color: #000000;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000;">&#125;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Although this avoided the pci_intx problem the others remained, *probably* down to SCSI not being enabled in the Fedora Core 4 standard kernel; the missing tifmxx_ symbols simply aren't implemented yet. Rebuilding it without the pci_intx hack on my 2.6.14-1.1659 kernel appeared to be a lot better, looks promising.</p>
<p><code>tifmxx: Unknown symbol scsi_remove_host<br />
tifmxx: Unknown symbol scsi_add_device<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_ae<br />
tifmxx: Unknown symbol scsi_host_put<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_brs<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_card<br />
tifmxx: Unknown symbol scsi_add_host<br />
tifmxx: Unknown symbol tifmxx_mmcsd_wait_for_af<br />
tifmxx: Unknown symbol scsi_host_alloc</code></p>
<p>After my recent success with ndiswrapper I decided to give it a bash using some Windows x64 drivers I found while trawling the net. It appears to be an official release for Windows x64 labelled "TI 7x21 FlashMedia/SD Host controller driver -Win64", "version 2.0.0.0", "build id FBCRX02W" - but I found no mention of it on their website - <a href="http://blog.lobstertechnology.com/2006/01/25/ti7x21_x64_2.0.0.0_FBCRX02W.zip">download it here</a>.</p>
<p><code>ndiswrapper -i tifm21.inf<br />
modprobe ndiswrapper</code></p>
<p>returned:</p>
<p><code>ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'ExReleaseFastMutex'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'ExAcquireFastMutex'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'IoUnregisterPlugPlayNotification'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'IoGetDmaAdapter'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'KeLeaveCriticalRegion'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'KeEnterCriticalRegion'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'IoGetDeviceObjectPointer'<br />
ndiswrapper (import:239): unknown symbol: ntoskrnl.exe:'IoRegisterPlugPlayNotification'<br />
ndiswrapper (load_sys_files:218): couldn't prepare driver 'tifm21'<br />
ndiswrapper (load_wrap_driver:112): loadndiswrapper failed (65280); check system log for messages from 'loadndisdriver'</code></p>
<p>Game Over... It was a long shot anyway...</p>
<p>I have emailed <a href="http://www.everestinc.com/fml.htm">Everest</a> and will try calling them tomorrow, failing that I might try give TI a call, the binary kernel module is labelled as GPL so the source must be available in some form. Other than that I will be keeping an eye on the progress over at tifmxx.berlios.de</p>
<p>One day... maybe it will all just work... Ah yes, just for completeness... Here is a lspci dump:</p>
<p><code>03:04.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller<br />
        Subsystem: Hewlett-Packard Company: Unknown device 3085<br />
        Flags: bus master, medium devsel, latency 168, IRQ 185<br />
        Memory at b0209000 (32-bit, non-prefetchable) [size=4K]<br />
        Bus: primary=03, secondary=04, subordinate=07, sec-latency=176<br />
        Memory window 0: 30000000-31fff000 (prefetchable)<br />
        Memory window 1: 32000000-33fff000<br />
        I/O window 0: 0000a400-0000a4ff<br />
        I/O window 1: 0000a800-0000a8ff<br />
        16-bit legacy interface ports at 0001</code></p>
<p><code>03:04.3 Mass storage controller: Texas Instruments PCIxx21 Integrated FlashMedia Controller<br />
        Subsystem: Hewlett-Packard Company: Unknown device 3085<br />
        Flags: bus master, medium devsel, latency 64, IRQ 10<br />
        Memory at b0206000 (32-bit, non-prefetchable) [size=8K]<br />
        Capabilities: [44] Power Management version 2</code></p>
<p><code>03:04.4 Class 0805: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) Controller<br />
        Subsystem: Hewlett-Packard Company: Unknown device 3085<br />
        Flags: bus master, medium devsel, latency 64, IRQ 10<br />
        Memory at b020a000 (32-bit, non-prefetchable) [size=256]<br />
        Memory at b0208c00 (32-bit, non-prefetchable) [size=256]<br />
        Memory at b0208800 (32-bit, non-prefetchable) [size=256]<br />
        Capabilities: [80] Power Management version 2</code></p>
<p><strong>UPDATE: I just got a response from Everest</strong></p>
<blockquote><p>This is a custom project done for Texas instruments and not open source. Any queries regarding this driver should be addressed to TI.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/01/25/ti-7x21-flashmedia-sd-host-controller-104c-8033/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Broadcom BCM4318 PCI id 14E4:4318 Wireless Adapter</title>
		<link>http://blog.lobstertechnology.com/2006/01/25/broadcom-bcm4318-pci-id-14e4-4318-wireless-adapter/</link>
		<comments>http://blog.lobstertechnology.com/2006/01/25/broadcom-bcm4318-pci-id-14e4-4318-wireless-adapter/#comments</comments>
		<pubDate>Wed, 25 Jan 2006 05:44:34 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[AMD64]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/01/25/broadcom-bcm4318-pci-id-14e4-4318-wireless-adapter/</guid>
		<description><![CDATA[In my previous post I mentioned that I got the wireless adapter in my Compaq R4100 series laptop working with ndiswrapper. It appears this was a total fluke, others have had to add "noapic" kernel parameters to get it working correctly. I found if I set this kernel parameter the wireless adapter wouldn't work at [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://blog.lobstertechnology.com/2006/01/23/fedora-core-4-x64-64-linux-on-compaq-r4000-laptop/">previous post</a> I mentioned that I got the wireless adapter in my Compaq R4100 series laptop working with ndiswrapper. It appears this was a total fluke, others have had to add "noapic" kernel parameters to get it working correctly. I found if I set this kernel parameter the wireless adapter wouldn't work at all; without it everything works normally.</p>
<p>Tested on Fedora Core 4 x86_64 (2.6.11-1.1369, 2.6.14-1.1656, 2.6.15-1.1830 &#038; 2.6.15-1.1831)</p>
<p>lspci output:<br />
<code>03:02.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)<br />
        Subsystem: Hewlett-Packard Company: Unknown device 1356<br />
        Flags: bus master, fast devsel, latency 64, IRQ 177<br />
        Memory at b0204000 (32-bit, non-prefetchable) [size=8K]</code></p>
<p>grub.conf:<br />
<code>default=0<br />
timeout=5<br />
splashimage=(hd0,1)/boot/grub/splash.xpm.gz<br />
hiddenmenu<br />
title Fedora Core (2.6.15-1.1831_FC4)<br />
        root (hd0,1)<br />
        kernel /boot/vmlinuz-2.6.15-1.1831_FC4 ro root=LABEL=/ rhgb no_timer_check quiet ignore_ff_buttons=PWRF<br />
        initrd /boot/initrd-2.6.15-1.1831_FC4.img</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/01/25/broadcom-bcm4318-pci-id-14e4-4318-wireless-adapter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fedora Core 4 x86_64 Linux on Compaq R4000 Laptop</title>
		<link>http://blog.lobstertechnology.com/2006/01/23/fedora-core-4-x64-64-linux-on-compaq-r4000-laptop/</link>
		<comments>http://blog.lobstertechnology.com/2006/01/23/fedora-core-4-x64-64-linux-on-compaq-r4000-laptop/#comments</comments>
		<pubDate>Mon, 23 Jan 2006 23:39:25 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[AMD64]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2006/01/23/fedora-core-4-x64-64-linux-on-compaq-r4000-laptop/</guid>
		<description><![CDATA[The majority of the hardware worked out of the box, the WXGA (1280 x 800) screen needs to be manually frigged into the X configuration. Only the wireless adapter and the memory-card reader are unsupported by the base install.
I got the wireless adapter (Broadcom BCM4318 PCI id 14E4:4318) working using ndiswrapper 1.8 from ndiswrapper.sourceforge.net, it [...]]]></description>
			<content:encoded><![CDATA[<p>The majority of the hardware worked out of the box, the WXGA (1280 x 800) screen needs to be manually frigged into the X configuration. Only the wireless adapter and the memory-card reader are unsupported by the base install.</p>
<p>I got the wireless adapter (Broadcom BCM4318 PCI id 14E4:4318) working using ndiswrapper 1.8 from <a href="http://ndiswrapper.sourceforge.net/">ndiswrapper.sourceforge.net</a>, it built &#038; installed cleanly into my 64-bit kernel. However, this means you must use 64-bit Windows Device Drivers. Thankfully the <a href="http://ndiswrapper.sourceforge.net/mediawiki/index.php/List#B">List</a> mentions a similar attempt on a HP (HP/Compaq same thing) AMD64 laptop – it works!!</p>
<p>The memory-card reader seems to be harder to get working with mixed reports of success / failure. It appears to be a Texas Instruments PCIxx21, PCI device id 104C:8033 &#038; 104C:8034.</p>
<p>And for my next trick...</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2006/01/23/fedora-core-4-x64-64-linux-on-compaq-r4000-laptop/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MediaCodeSpeedEdit tool for DVD-Writers by ala42</title>
		<link>http://blog.lobstertechnology.com/2005/11/14/mediacodespeededit-tool-for-dvd-writers-by-ala42/</link>
		<comments>http://blog.lobstertechnology.com/2005/11/14/mediacodespeededit-tool-for-dvd-writers-by-ala42/#comments</comments>
		<pubDate>Mon, 14 Nov 2005 00:07:04 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Uncategorised]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2005/11/15/mediacodespeededit-tool-for-dvd-writers-by-ala42/</guid>
		<description><![CDATA[Ever wanted to enable faster burn speeds on your DVD media without waiting for firmware updates???]]></description>
			<content:encoded><![CDATA[<p>Stumbled across this when trying to find out why my 16x DVD media wouldn't burn at anything higher than 4x.</p>
<p>Download your drive's latest firmware, feed it into <a href="http://ala42.cdfreaks.com/MCSE/">MediaCodeSpeedEdit</a> and you can edit the burn speeds for all media the drive can recognise.</p>
<p>Save the modified firmware and re-flash your drive with it. Pretty neat!</p>
<p>My only gripe is that the way you do it seems a little odd from the user-interface point of view. You select the media code of your blank discs by name, then double-click it to replace its burn speeds with the speeds of another media code. But hey..... it works!</p>
<p><strong>Related Links</strong></p>
<p><a href="http://ala42.cdfreaks.com/MCSE/">MediaCodeSpeedEdit - http://ala42.cdfreaks.com/MCSE/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2005/11/14/mediacodespeededit-tool-for-dvd-writers-by-ala42/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prolific PL-3507 Hi-Speed USB &amp; IEEE 1394 Combo to IDE Bridge Controller</title>
		<link>http://blog.lobstertechnology.com/2005/05/17/prolific-pl3507/</link>
		<comments>http://blog.lobstertechnology.com/2005/05/17/prolific-pl3507/#comments</comments>
		<pubDate>Tue, 17 May 2005 22:08:57 +0000</pubDate>
		<dc:creator>Michael Cutler</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://blog.lobstertechnology.com/2005/05/17/prolific-pl-3507-hi-speed-usb-ieee-1394-combo-to-ide-bridge-controller/</guid>
		<description><![CDATA[My experiences with this chip, commonly used in external hard drive controllers]]></description>
			<content:encoded><![CDATA[<p>I have a generic USB2/IEEE1394 (Firewire) external hard drive enclosure. It is built on the Prolific PL-3507 Hi-Speed USB &#038; IEEE 1394 Combo to IDE Bridge Controller; this is a record of my recent troubles with it.</p>
<p>Currently it house's a Maxtor 6 Y130M0 (120Gb) Hard Drive. I've found it to be totally unreliable over the firewire interface and only just bearable over the USB interface. The enclosure itself isn't by any brand and there is no direct customer support for it. I found the following pages while googling.</p>
<p><a href="http://missig.org/julian/blog/2004/06/10/prolific-pl3507-firewire-device/">http://missig.org/julian/blog/2004/06/10/prolific-pl3507...</a><br />
<a href="http://championable.com/2005/01/avoid-prolific-pl3507-chipset-like.html">http://championable.com/2005/01/avoid-prolific-pl3507-chip...</a><br />
<a href="http://www.hollants.com/external_usb_controller_chips.html">http://www.hollants.com/external_usb_controller_chips.html</a><br />
<a href="http://www.alexking.org/blog/wp-mobile.php?p=1152&#038;more=1">http://www.alexking.org/blog/wp-mobile.php?p=1152&#038;more=1</a></p>
<p>I followed the general advice and downloaded the firmware and various versions of the Flash Utility from:</p>
<p><a href="http://member.newsguy.com/~siccos/PL3507%20Firmware.htm">http://member.newsguy.com/~siccos/PL3507%20Firmware.htm</a></p>
<p>Basically none of them worked. I used ROMWriter2.0.4.exe and tried the earliest firmware I found: PL3507-0907B.hex. This would go through "Erasing...", "Writing ROM code...", "Reading code from ROM..." then would fail with "ROM code verification error.". I used this version of the tool to successfully copy the firmware off the chip, then re-write it to the chip without problems. I just cant get newer firmware to work.</p>
<p>Currently the chip is on firmware "2003.06.19.241". I have tried all versions of the Flashing Utility I can find against all versions of the firmware I can find.</p>
<p>Unfortunately this chip appears to be widely used, I was about to buy a replacement enclosure when I found that all of them were using the PL3507 chip.</p>
<p>Next Stop, contacting <a href='http://www.prolific.com.tw/'>Prolific</a></p>
<p><strong>Update: 28th December 2005</strong> - Six months later and Prolific never did reply, in the end I threw away the old enclosure as it was no longer needed. Shame.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lobstertechnology.com/2005/05/17/prolific-pl3507/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
