 |
Firmware not loading? (or51132) |
 |
Posted: Mon Jul 25, 2005 6:46 pm |
|
|
|
I've searched the forum through and through for an answer to this, what I've foudn either didn't work for me or I was unable to understand fully.
The firmware just won't load (when attempting to force load using azap).
/etc/hotplug/firmware.agent points to /lib/firmware, firmware files are in there.
dmesg reads:
| Code: |
or51132: Waiting for firmware upload(dvb-fe-or51132-vsb.fw)...
or51132: No firmware uploaded(timeout or file not found?)
|
dmesg also reads (for load of hd-3000 drivers):
| Code: |
Linux video capture interface: v1.00
cx2388x dvb driver version 0.0.4 loaded
cx88[0]: subsystem: 7063:3000, board: pcHDTV HD3000 HDTV [card=22,autodetected]
ACPI: PCI Interrupt 0000:00:09.2[A] -> Link [LNKB] -> GSI 7 (level, low) -> IRQ 7
cx88[0]/2: found at 0000:00:09.2, rev: 5, irq: 7, latency: 32, mmio: 0xec000000
cx88[0]/2: cx2388x based dvb card
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (pcHDTV HD3000 HDTV)...
|
I've looked at the or51132.c code in the linux-2.6.12-r6 files, and I'm thinking my I2C configuration might be off? Otherwise I can't see why that function is failing.
Any suggestions?
Thanks in advance. |
|
|
|
|
 |
 |
|
 |
Posted: Tue Jul 26, 2005 6:33 pm |
|
|
| pcHDTV_tech |
|
|
| |
| Joined: 16 Dec 2004 |
| Posts: 295 |
|
|
|
 |
 |
 |
|
I don't know what distro you are using but make sure the firmware loader module is compiled into your kernel or loaded as a module. Post an /sbin/lsmod and a /sbin/modprobe cx88-dvb ad I'll see if I can catch anything.
Rusty |
|
|
|
|
 |
lsmod and |
 |
Posted: Tue Jul 26, 2005 7:32 pm |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
Thanks Rusty,
Previous post was me, I couldn't figure out how to login.
I am attempting to use Gentoo and Linux kernel 2.6.13-rc3.
| Code: |
~ # lsmod
Module Size Used by
nvidiafb 50716 0
cfbcopyarea 4608 1 nvidiafb
cfbimgblt 2944 1 nvidiafb
cfbfillrect 3712 1 nvidiafb
softcursor 1792 1 nvidiafb
tuner 34208 0
cx8800 27148 0
i2c_sis96x 4740 0
cx88_dvb 6276 0
cx8802 9092 1 cx88_dvb
mt352 6148 1 cx88_dvb
lgdt3302 6928 1 cx88_dvb
cx88xx 51232 3 cx8800,cx88_dvb,cx8802
i2c_algo_bit 8584 2 nvidiafb,cx88xx
ir_common 6916 1 cx88xx
btcx_risc 4104 3 cx8800,cx8802,cx88xx
tveeprom 10896 1 cx88xx
or51132 9476 1 cx88_dvb
video_buf_dvb 4612 1 cx88_dvb
dvb_core 74664 1 video_buf_dvb
video_buf 17156 5 cx8800,cx88_dvb,cx8802,cx88xx,video_buf_dvb
cx22702 5892 1 cx88_dvb
i2c_core 17040 10 nvidiafb,tuner,i2c_sis96x,mt352,lgdt3302,cx88xx,i2c_algo_bit,tveeprom,or51132,cx22702
dvb_pll 7428 4 cx88_dvb,lgdt3302,or51132,cx22702
nvidia 3705540 0
|
There was no output on the command line from a modprobe cx88-dvb, but the info in dmesg during load is:
| Code: |
cx2388x dvb driver version 0.0.4 loaded
ACPI: PCI Interrupt 0000:00:09.2[A] -> Link [LNKB] -> GSI 7 (level, low) -> IRQ 7
cx88[0]/2: found at 0000:00:09.2, rev: 5, irq: 7, latency: 32, mmio: 0xec000000
cx88[0]/2: cx2388x based dvb card
DVB: registering new adapter (cx88[0]).
DVB: registering frontend 0 (pcHDTV HD3000 HDTV)...
|
In case it's of any interest, I've posted my .config file at http://www.brianmckenna.com/kernel/config
Also, for what it's worth, I've printed out the ret value where I believe its failing out and found it to be -2. I searched far and wide for why the request_firmware would return that but couldn't find anything.
from /usr/src/linux/drivers/media/dvb/frontends/or51132.c, added a [%d] and , ret in the printk statement
| Code: |
case VSB_8:
dprintk("set_parameters VSB MODE\n");
printk("or51132: Waiting for firmware upload(%s)...\n",
OR51132_VSB_FIRMWARE);
ret = request_firmware(&fw, OR51132_VSB_FIRMWARE,
&state->i2c->dev);
if (ret){
printk(KERN_WARNING "or51132: No firmware up"
"loaded(timeout or file not found? [%d])\n", ret);
return ret;
}
/* Set non-punctured clock for VSB */
state->config->set_ts_params(fe, 0);
break;
|
Thanks for any input.
Brian |
|
|
|
|
 |
 |
|
 |
Posted: Tue Jul 26, 2005 8:59 pm |
|
|
| pcHDTV_tech |
|
|
| |
| Joined: 16 Dec 2004 |
| Posts: 295 |
|
|
|
 |
 |
 |
|
The only possibility I can identify from looking through your config file is CONFIG_HOTPLUG_PCI but I'm not sure if that is the cause or not. You do have the firmware loader configured so it should be working from what I can tell. I'm baffled...
Have you tried backing out to 2.6.12 with the same .config to see if something broke in 2.6.13? (I haven't tested anything with 2.6.13 yet...)
Rusty |
|
|
|
|
 |
Signal required? |
 |
Posted: Wed Jul 27, 2005 11:01 am |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
Rusty,
Does the card need to be connected to a digital signal for the firmware to load? I am currently trying to just load the firmware without a singal coming into the card. Thanks for the suggestions, I'm backing out to 2.6.12 to see what happens.
Brian |
|
|
|
|
Posted: Wed Jul 27, 2005 12:49 pm |
|
|
|
It doesn't need any signal to load firmware. The firmware loading happens through a hotplug event initiated that is why the firmware needs to be where hotplug expects it. If you create a /events directory then hotplug will log all of it's events into that directory. You should then see something to the effect of debug-01042-firmware in the /events directory after attempting to load the firmware. That will tell you if hotplug is getting the event from the kernel and the contents of that file might tell you where it is looking for the firmware.
Rusty |
|
|
|
|
 |
Solved? |
 |
Posted: Wed Jul 27, 2005 4:58 pm |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
Hi Rusty.
Good news, I've managed to get the firmware to load. The problem was in how udev & hotplug are now being handled, at least in Gentoo. I am not sure if this is exclusive to Gentoo or not.
I found the kernel is calling /sbin/udevsend instead of /sbin/hotplug
| Code: |
~ # cat /proc/sys/kernel/hotplug
/sbin/udevsend
|
A few minutes on Google gave me this page http://www.mail-archive.com/lfs-support@linuxfromscratch.org/msg01557.html which, as far as I can gather, says that there is a few bugs to work out with the shift from devfd to udev and hotplugging events, again, I have no idea if this is exclusive to Gentoo.
I followed the instructions on that page, which I'll copy below in case its of any use to someone in this forum and the firmware loaded. Now I just have to work out how to get a signal.
Brian
------------------
The steps taken were:
1) emerge the udev source, I grabbed the latest, udev-064.
| Code: |
ACCEPT_KEYWORDS="~x86" ebuild $(equery w udev) clean unpack
|
this created a directory in /var/tmp/portage with the src that I could compile manually.
2) compile
| Code: |
make && make install
|
3) compile and copy the extra hotplug binary
| Code: |
make EXTRAS=extras/run_directory
cp extras/run_directory/udev_run_hotplugd /sbin
|
4) add a line to the end /etc/udev/rules.d/50-udev.rules
| Code: |
echo "ENV{UDEVD_EVENT}==\"1\", RUN+=\"/sbin/udev_run_hotplugd\"" >> /etc/udev/rules.d/50-udev.rules
|
I then rebooted, not sure if that is necessary or if simply restarting hotplug would suffice. |
|
|
|
|
 |
 |
|
 |
Posted: Tue Oct 11, 2005 8:07 pm |
|
|
|
| can I have your babies? This got the firmware loaded on my end...Just what the doctor ordered. Thanks for knowledge. |
|
|
|
|
Posted: Wed Oct 12, 2005 7:28 am |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
| Anonymous wrote: | | can I have your babies? This got the firmware loaded on my end... |
Who knew? All it takes is to load firmware! This ought to make the bars interesting this weekend...
PS - You're welcome |
|
|
|
|
 |
 |
|
 |
Posted: Sun Jan 01, 2006 2:54 pm |
|
|
| cbgenrich |
|
|
| |
| Joined: 31 Dec 2005 |
| Posts: 5 |
| Location: Atlanta |
|
|
 |
 |
 |
|
I have spent untold hours trying to get this to work for me. I'm running Gentoo 2.6.12.r10 and I'm trying to get an HD-3000 card to load firmware. I've followed these instructions in detail, they being included via pasting at http://gentoo-wiki.com/HOWTO_Setup_MythTV and which references here.
When this thread started brianmckenna said what dmesg reads: about the "or51132:" but I don't get any or51132 messages out. There was a time when I got that, but no longer.
The other dmesg stuff I get, the part he labels with (for load of hd-3000 drivers).
I am running an AMD 64 x2 processor. I'm concerned about the portion here ACCEPT_KEYWORDS="~x86" and wonder if I should use ACCEPT_KEYWORDS="~amd64" because that's what I have or ~x86 because that's what these instructions say.
Should I use ~x86 or ~amd64?
Why did the or51132 dmesg output?
What techniques will verify what bits of this procedure do or don't work?
Why is this so convoluted? Am I missing something simple, or does everyone on Gentoo go through this?
-CB- |
|
|
|
|
 |
 |
Check services running in Gentoo |
 |
Posted: Sun Jan 01, 2006 3:14 pm |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
| Quote: | | When this thread started brianmckenna said what dmesg reads: about the "or51132:" but I don't get any or51132 messages out. There was a time when I got that, but no longer. |
Try running rc-status at the command prompt to see what services are currently running, you'll need to make sure hotplug is running, if not, try
| Code: | | /etc/init.d/hotplug start |
| Quote: | | Why did the or51132 dmesg output? |
Hopefully, if it was working before, hotplug was simply disabled.
| Quote: | | Why is this so convoluted? Am I missing something simple, or does everyone on Gentoo go through this? |
I can only speak for myself and yes, I went through it, but it also allowed me to learn quite a bit about Linux in general. |
|
|
|
|
 |
 |
|
 |
Posted: Sun Jan 01, 2006 3:37 pm |
|
|
| cbgenrich |
|
|
| |
| Joined: 31 Dec 2005 |
| Posts: 5 |
| Location: Atlanta |
|
|
 |
 |
 |
|
Before:
| Code: | myx2 linux # rc-status
Runlevel: default
netmount [ started ]
local [ started ]
domainname [ started ]
net.eth0 [ started ]
syslog-ng [ started ]
vixie-cron [ started ]
cpudyn [ off ]
alsasound [ started ]
mysql [ started ]
sshd [ started ]
mysshd [ started ]
|
Did hotplug start (now output to console?)
| Code: |
myx2 linux # /etc/init.d/hotplug start
myx2 linux #
|
After:
| Code: |
myx2 linux # rc-status
Runlevel: default
netmount [ started ]
local [ started ]
domainname [ started ]
net.eth0 [ started ]
syslog-ng [ started ]
vixie-cron [ started ]
cpudyn [ off ]
alsasound [ started ]
mysql [ started ]
sshd [ started ]
mysshd
|
The no output nature of the /etc/init.d/hotplug start doesn't seem right.
-CB- |
|
|
|
|
 |
 |
|
 |
Posted: Sun Jan 01, 2006 3:54 pm |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
A few things I can think to try, my box with the hd-3000 has been taken down so I'm running from memory here.
Check the output after attempting to start hotplug with
| Code: | | /etc/init.d/hotplug status |
This is probably going to show nothing just as starting did, but it's worth a shot for more information.
Second, check that CONFIG_HOTPLUG is enabled in your kernel .config file.
If this is present and no more information has come out of the init.d startup script, I would suggest re-emerging hotplug.[/code] |
|
|
|
|
 |
 |
|
 |
Posted: Sun Jan 01, 2006 4:17 pm |
|
|
| cbgenrich |
|
|
| |
| Joined: 31 Dec 2005 |
| Posts: 5 |
| Location: Atlanta |
|
|
 |
 |
 |
|
Got:
| Code: | myx2 linux # /etc/init.d/hotplug status
* Caching service dependencies ... [ ok ]
* status: started
|
Found:
But also:
| Code: |
# PCI Hotplug Support
#
# CONFIG_HOTPLUG_PCI is not set
|
The /etc/init.d/hotplug script isn't much, and advises us to look elsewhere for the functionality. I'll paste it below.
Thanks for helping.
-CB-
| Code: | #!/sbin/runscript
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-apps/hotplug/files/hotplug.rc.empty,v 1.3 2005/01/27 18:29:26 wolf31o2 Exp $
#
# nothing here anymore. Please use the coldplug package if you really want to
# load modules for devices that are discovered by your kernel before init runs.
#
# However, please realize that if you have any problems, the developers
# recommend just using the modules.autoload functionality to handle this in a
# much simpler manner.
#
# Comments, flames, and fine beer should be directed at gregkh@gentoo.org
#
depend() {
need modules
}
start () {
# just verify that people build their kernel with hotplug support.
if [ ! -f /proc/sys/kernel/hotplug ] ; then
eerror "CONFIG_HOTPLUG not enabled for this kernel!"
return 1
fi
# This unpacks any firmware tarballs. Used for LiveCD.
if [ -e /lib/firmware.tar.bz2 ]
then
ebegin "Unpacking hotplug firmware"
tar xjf /lib/firmware.tar.bz2 -C /lib/firmware
eend 0
fi
} |
[/code] |
|
|
|
|
 |
 |
|
 |
Posted: Sun Jan 01, 2006 6:29 pm |
|
|
| newtontwo |
|
|
| |
| Joined: 25 Jul 2005 |
| Posts: 7 |
|
|
|
 |
 |
 |
|
CB,
I checked back in my old config files from when I was setting this up and I had both the
and
| Code: | #
# PCI Hotplug Support
#
CONFIG_HOTPLUG_PCI=y | set.
Additionally, my firmware drivers were in both /usr/lib/hotplug/firmware and /lib/firmware, so i'm not sure which one it needs them in or if it works with both in this case.
Brian |
|
|
|
|
pcHDTV Forum Index -> HD-2000/3000 drivers
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
All times are GMT - 7 Hours
Page 1 of 2
Goto page 1, 2 Next
|
|
|
|
|