ports/76838: multimedia/pvr250 problems in 4.x with coexistence of connexant based devices and bt8x8 based devices

Luis López Solé cronopiolopez at gmail.com
Sun Jan 30 02:10:15 UTC 2005


>Number:         76838
>Category:       ports
>Synopsis:       multimedia/pvr250 problems in 4.x with coexistence of connexant based devices and bt8x8 based devices
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jan 30 02:10:14 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Luis López Solé
>Release:        4.10
>Organization:
n/a
>Environment:
FreeBSD workstation.documentanix.org 4.10-STABLE FreeBSD 4.10-STABLE #0: Mon Dec  6 10:18:22 CET 2004 luis at workstation.documentanix.org:/usr/obj/usr/src/sys/CXM6  i386
>Description:
       
Installation works well, the dmesg -a|grep cxm reports:

cxm0: <Conexant iTVC16 MPEG Coder> mem 0xd8000000-0xdbffffff irq 3 at device 2.0 on pci2
cxm_iic0: <Conexant iTVC15 / iTVC16 I2C controller> on cxm0
iicbb0: <I2C bit-banging driver> on cxm_iic0
cxm0: LG Innotek TPI8PSB11D tuner
cxm0: SAA7115 rev 1 video decoder
cxm0: MSP4418G-A2 audio decoder
cxm0: IR Remote

But when you have a connexant device and other card based in bt8x8 in the same machine only work last of two. The loader sequence is:
bktr_mem
bktr
cxm
cxm_iic
>How-To-Repeat:
      
If dont load the bktr* modules connexant device (and tools) work fine. But when reload bktr* modules the bt8x8 chipset card dont work now. 
First I created a new bktr1 with MAKEDEV and change setchannel for work with bktr1. The connexant card don't work (if dont load bktr* modules connexant card works on bktr0). setchannel reports:
open() /dev/bktr1: Device not configured
>Fix:
      
My solution, change the major device number for connexant devices. I read /usr/src/sys/majors and 200-248 are for user use. I modified cxm.c:

--diff--

--- cxm.c ORIGINAL      Sat Jan 29 23:17:41 2005
+++ cxm.c       Sat Jan 29 23:21:52 2005
@@ -140,7 +140,7 @@
 static d_poll_t        cxm_poll;

 #if __FreeBSD_version < 500000
-#  define CDEV_MAJOR 92
+#  define CDEV_MAJOR 201
 #else
 #  define CDEV_MAJOR MAJOR_AUTO
 #endif

--end-diff--

After make and reinstall the new modules. Them remove the bktr1, tuner1 and vbi1 devices and create 3 new devices with
# mknod /dev/cxm0 c 201 0
# mknod /dev/tuner1 c 201 16
# mknod /dev/vbi1 c 201 32

The last step consist in change setchannel for cxm0. And thats all. Two devices works at the same time.
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list