Log in Register FAQ Memberlist Search pcHDTV Forum Index
pcHDTV Forum

pcHDTV Forum Index -> HD-2000/3000 drivers -> Firmware not loading? (or51132) Goto page 1, 2  Next
Post new topic  This topic is locked: you cannot edit posts or make replies. View previous topic :: View next topic 
Firmware not loading? (or51132)
PostPosted: Mon Jul 25, 2005 6:46 pm Reply with quote
brianmckenna
Guest
 




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.
PostPosted: Tue Jul 26, 2005 6:33 pm Reply with quote
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
View user's profile Send private message Visit poster's website
lsmod and
PostPosted: Tue Jul 26, 2005 7:32 pm Reply with quote
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
View user's profile Send private message
PostPosted: Tue Jul 26, 2005 8:59 pm Reply with quote
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
View user's profile Send private message Visit poster's website
Signal required?
PostPosted: Wed Jul 27, 2005 11:01 am Reply with quote
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
View user's profile Send private message
PostPosted: Wed Jul 27, 2005 12:49 pm Reply with quote
Guest
 




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?
PostPosted: Wed Jul 27, 2005 4:58 pm Reply with quote
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.
View user's profile Send private message
PostPosted: Tue Oct 11, 2005 8:07 pm Reply with quote
Guest
 




can I have your babies? This got the firmware loaded on my end...Just what the doctor ordered. Thanks for knowledge.
PostPosted: Wed Oct 12, 2005 7:28 am Reply with quote
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
View user's profile Send private message
PostPosted: Sun Jan 01, 2006 2:54 pm Reply with quote
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-
View user's profile Send private message
Check services running in Gentoo
PostPosted: Sun Jan 01, 2006 3:14 pm Reply with quote
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.
View user's profile Send private message
PostPosted: Sun Jan 01, 2006 3:37 pm Reply with quote
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-
View user's profile Send private message
PostPosted: Sun Jan 01, 2006 3:54 pm Reply with quote
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]
View user's profile Send private message
PostPosted: Sun Jan 01, 2006 4:17 pm Reply with quote
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:

Code:
CONFIG_HOTPLUG=y


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]
View user's profile Send private message
PostPosted: Sun Jan 01, 2006 6:29 pm Reply with quote
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
Code:
CONFIG_HOTPLUG=y

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
View user's profile Send private message
Firmware not loading? (or51132)
  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
  
  
 Post new topic  This topic is locked: you cannot edit posts or make replies.  


Powered by phpBB © 2001-2003 phpBB Group
Theme created by Vjacheslav Trushkin