Hi, I'm having problems controlling the GPIO pins on a BT878 for output. I'm measuring the voltage on the GPIO pins and they all remain at 5V ( /0 ). Are my btwrites() ok???? I've added "audio_hook=external_muxsel" the card entry in struct bttv_tvcards and this is the external_muxsel(): /* from bttv-cards.c */ static void external_muxsel(struct bttv *btv, struct video_audio *v, int set){ /* read current GPIO status and print it */ bttv_gpio_tracking(btv,"pre:external_muxsel"); /* process GPIO stuff */ /* NOTE: GPIO_OUT_EN is the output mask register,output=~mask&data */ /* NOTE: GPIO_DATA is the 24bit input/ouput register */ btwrite(0x7fff,BT848_GPIO_OUT_EN); // disable all outputs btwrite(0x0000,BT848_GPIO_OUT_EN); // enable all outputs btwrite(0x0000,BT848_GPIO_DATA); // set all outputs to /0 (+5V) btwrite(0x7fff,BT848_GPIO_DATA); // set all outputs to /1 (0V) /* read current GPIO status and print it */ bttv_gpio_tracking(btv,"post:external_muxsel"); }