Open Znuff opened 2 years ago
I'll post the resolution, as I've finally figured out what's going on.
The cx23885
defines a maximum number of 8 devices, for some... reasons:
#define CX23885_MAXBOARDS 8
Changing this value to 16
technically fixes the driver issue. You can now pass up to 16 parameters to card=
, or just let the module autodetect, as it will do a good job by itself.
Next thing you'll find out is that the default Ubuntu kernel defines a CONFIG_DVB_MAX_ADAPTERS = 8
, for, again, some obscure reasons.
The author of this PPA, @b-rad-NDi patches the setting itself to 16
, as per this comment: https://github.com/b-rad-NDi/Ubuntu-media-tree-kernel-builder/issues/40#issuecomment-371512505
I attempted to use the script in this repository to plug in my own changes and make the all the debs in the PPA, but I was highly unsuccessful - there are no instructions, and I couldn't figure out the correct procedure/order of the operations.
In the end, I managed to re-compile the debs posted, by downloading the source debs of this project and following the re-build instructions after making my changes.
I've followed this old article: https://raphaelhertzog.com/2010/12/15/howto-to-rebuild-debian-packages/
End result:
[ 4.763345] cx23885: CORE cx23885[0]: subsystem: 0070:6a28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 5.119305] tveeprom: Hauppauge model 166100, rev B4I6, serial# 4036162686
[ 5.119319] cx23885: cx23885[0]: hauppauge eeprom: model=166100
[ 5.149307] cx23885: CORE cx23885[1]: subsystem: 0070:6b28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 5.507337] tveeprom: Hauppauge model 166101, rev B4I6, serial# 4036162686
[ 5.507350] cx23885: cx23885[1]: hauppauge eeprom: model=166101
[ 5.531103] cx23885: CORE cx23885[2]: subsystem: 0070:6a28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 5.884254] tveeprom: Hauppauge model 166100, rev B4I6, serial# 4036162869
[ 5.884268] cx23885: cx23885[2]: hauppauge eeprom: model=166100
[ 5.907618] cx23885: CORE cx23885[3]: subsystem: 0070:6b28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 6.260363] tveeprom: Hauppauge model 166101, rev B4I6, serial# 4036162869
[ 6.260376] cx23885: cx23885[3]: hauppauge eeprom: model=166101
[ 6.285376] cx23885: CORE cx23885[4]: subsystem: 0070:6a28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 6.636594] tveeprom: Hauppauge model 166100, rev B4I6, serial# 4036152220
[ 6.636608] cx23885: cx23885[4]: hauppauge eeprom: model=166100
[ 6.661288] cx23885: CORE cx23885[5]: subsystem: 0070:6b28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 7.012620] tveeprom: Hauppauge model 166101, rev B4I6, serial# 4036152220
[ 7.012633] cx23885: cx23885[5]: hauppauge eeprom: model=166101
[ 7.037313] cx23885: CORE cx23885[6]: subsystem: 0070:6a28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 7.388613] tveeprom: Hauppauge model 166100, rev B4I6, serial# 4036162718
[ 7.388626] cx23885: cx23885[6]: hauppauge eeprom: model=166100
[ 7.413091] cx23885: CORE cx23885[7]: subsystem: 0070:6b28, board: Hauppauge WinTV-QuadHD-DVB [card=56,insmod option]
[ 7.764609] tveeprom: Hauppauge model 166101, rev B4I6, serial# 4036162718
[ 7.764622] cx23885: cx23885[7]: hauppauge eeprom: model=166101
[ 7.789148] cx23885: CORE cx23885[8]: subsystem: 0070:6a28, board: Hauppauge WinTV-QuadHD-DVB [card=56,autodetected]
[ 8.140617] tveeprom: Hauppauge model 166100, rev B5I6, serial# 4036177626
[ 8.140631] cx23885: cx23885[8]: hauppauge eeprom: model=166100
[ 8.165655] cx23885: CORE cx23885[9]: subsystem: 0070:6b28, board: Hauppauge WinTV-QuadHD-DVB [card=56,autodetected]
[ 8.516558] tveeprom: Hauppauge model 166101, rev B5I6, serial# 4036177626
[ 8.516571] cx23885: cx23885[9]: hauppauge eeprom: model=166101
All 5 cards are detected, all 20 adapters are showing up properly.
UEFI + Secure boot is used.
Hello,
As per title, I've been struggling to use 5 x Hauppauge WinTV-QuadHD-DVB in a single system without any success.
It seems that the driver will correctly identify 4 of the cards, but the fifth one will fail. These
Please note that I DID NOT pass the
card=2
option, this is somehow automatically inserted.I have attempted to use pass
card=56,56,56,56,56,56,56,56,56,56
, but the kernel will complain with:The devices all seem identical, as per
lspci
:The last device will seem to fail due to a firmware error, which I have installed, but I'm assuming this is just because the card detection fails, and obviously it will reject the firmware:
After a
rmmod cx23885
, I have tried manually loading the module with:which will fail with:
See full log of module: cx23885.log
Again, trying to manually load with the
cards
option produces an error:As an aside, I have the same problem on non-HWE (the 5.4.x kernels).
I have also tried the latest Ubuntu HWE 20.04 kernel (5.15.x branch), with the latest
media_build
tree and I'm met with similar issues, although not so verbose, but clearly an indexing issue:Please advise.