Home
| Calendar
| Mail Lists
| List Archives
| Desktop SIG
| Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings Linux Cafe | Meeting Notes | Linux Links | Bling | About BLU |
In my case, it's C, and the tool come in the driver source tree. I'm attaching it to this message. -- David Backeberg (dave at math.mit.edu) Network Staff Assistant MIT Math Dept. Rm. 2-332 (617) 253-4995 On Tue, 22 Mar 2005 paul.cour1 at verizon.net wrote: > Is this utility a script, or a routine in some > programming language or part of the "driver interface"? > >> I have a very simple small utility hard-coded for >> US-NTSC-cable that takes the channel number as an argument and >tunes the right frequency on the card. > > > paulc > >> >> From: David Backeberg <dave at math.mit.edu> >> Date: 2005/03/22 Tue AM 10:06:17 EST >> To: Robert La Ferla <robertlaferla at comcast.net> >> CC: Discuss at blu.org >> Subject: Re: Comcast and DVB >> >> I don't know the answer to your question, but I'm interested in your >> setup. >> >> Are you just trying to watch a raw feed from the card, or are you trying >> to capture the feed to a file? If the driver is working properly, it >> should have grabbed control of a device with a name like /dev/video0 >> >> I haven't tried out the HD stuff. It might be encrypted? I don't know if this >> applies to your tuner card, but for my regular TV Hauppauge card, it needs to >> know: >> 1) the encoding of the television signal: PAL, NTSC, etc. >> 2) which frequency to tune to. The frequencies of channels vary by country >> and cable vs. air. Usually you can find simple utilities that will >> change channels for you. I have a very simple small utility hard-coded for >> US-NTSC-cable that takes the channel number as an argument and tunes the >> right frequency on the card. >> >> Did the HD3000 drivers come with a /utils directory? Check in there and >> see if there's a tool for this purpose. >> >> -- >> David Backeberg (dave at math.mit.edu) >> Network Staff Assistant >> MIT Math Dept. >> Rm. 2-332 (617) 253-4995 >> >> On Mon, 21 Mar 2005, Robert La Ferla wrote: >> >>> Is it possible to watch "unencrypted" digital cable with Comcast using DVB >>> (w/QAM enabled)? If so, dvbscan wants initial tuning data or at least one >>> transponder/channel. What do I need to feed it for arguments to get it to >>> work? I have a HD-3000 card. >>> >>> >>> _______________________________________________ >>> Discuss mailing list >>> Discuss at blu.org >>> http://olduvai.blu.org/mailman/listinfo/discuss >>> >>> >> _______________________________________________ >> Discuss mailing list >> Discuss at blu.org >> http://olduvai.blu.org/mailman/listinfo/discuss >> > > _______________________________________________ > Discuss mailing list > Discuss at blu.org > http://olduvai.blu.org/mailman/listinfo/discuss > -------------- next part -------------- /* Preliminary hack to change channels on ivtv driver Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo dot com> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <stdio.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/stat.h> #include <linux/videodev.h> #include <fcntl.h> #define VIDIOC_S_FREQUENCY2 0x402c5639 enum v4l2_tuner_type2 { V4L2_TUNER_RADIO = 1, V4L2_TUNER_ANALOG_TV = 2, }; struct v4l2_frequency2 { __u32 tuner; enum v4l2_tuner_type2 type; __u32 frequency; __u32 reserved[8]; }; unsigned long NTSC_BCAST[] = { 2, 55250, 3, 61250, 4, 67250, 5, 77250, 6, 83250, 7, 175250, 8, 181250, 9, 187250, 10, 193250, 11, 199250, 12, 205250, 13, 211250, 14, 471250, 15, 477250, 16, 483250, 17, 489250, 18, 495250, 19, 501250, 20, 507250, 21, 513250, 22, 519250, 23, 525250, 24, 531250, 25, 537250, 26, 543250, 27, 549250, 28, 555250, 29, 561250, 30, 567250, 31, 573250, 32, 579250, 33, 585250, 34, 591250, 35, 597250, 36, 603250, 37, 609250, 38, 615250, 39, 621250, 40, 627250, 41, 633250, 42, 639250, 43, 645250, 44, 651250, 45, 657250, 46, 663250, 47, 669250, 48, 675250, 49, 681250, 50, 687250, 51, 693250, 52, 699250, 53, 705250, 54, 711250, 55, 717250, 56, 723250, 57, 729250, 58, 735250, 59, 741250, 60, 747250, 61, 753250, 62, 759250, 63, 765250, 64, 771250, 65, 777250, 66, 783250, 67, 789250, 68, 795250, 69, 801250, 70, 807250, 71, 813250, 72, 819250, 73, 825250, 74, 831250, 75, 837250, 76, 843250, 77, 849250, 78, 855250, 79, 861250, 80, 867250, 81, 873250, 82, 879250, 83, 885250, 0, 0 }; unsigned long NTSC_CABLE[] = { 1, 73250, 2, 55250, 3, 61250, 4, 67250, 5, 77250, 6, 83250, 7, 175250, 8, 181250, 9, 187250, 10, 193250, 11, 199250, 12, 205250, 13, 211250, 14, 121250, 15, 127250, 16, 133250, 17, 139250, 18, 145250, 19, 151250, 20, 157250, 21, 163250, 22, 169250, 23, 217250, 24, 223250, 25, 229250, 26, 235250, 27, 241250, 28, 247250, 29, 253250, 30, 259250, 31, 265250, 32, 271250, 33, 277250, 34, 283250, 35, 289250, 36, 295250, 37, 301250, 38, 307250, 39, 313250, 40, 319250, 41, 325250, 42, 331250, 43, 337250, 44, 343250, 45, 349250, 46, 355250, 47, 361250, 48, 367250, 49, 373250, 50, 379250, 51, 385250, 52, 391250, 53, 397250, 54, 403250, 55, 409250, 56, 415250, 57, 421250, 58, 427250, 59, 433250, 60, 439250, 61, 445250, 62, 451250, 63, 457250, 64, 463250, 65, 469250, 66, 475250, 67, 481250, 68, 487250, 69, 493250, 70, 499250, 71, 505250, 72, 511250, 73, 517250, 74, 523250, 75, 529250, 76, 535250, 77, 541250, 78, 547250, 79, 553250, 80, 559250, 81, 565250, 82, 571250, 83, 577250, 84, 583250, 85, 589250, 86, 595250, 87, 601250, 88, 607250, 89, 613250, 90, 619250, 91, 625250, 92, 631250, 93, 637250, 94, 643250, 95, 91250, 96, 97250, 97, 103250, 98, 109250, 99, 115250, 100, 649250, 101, 655250, 102, 661250, 103, 667250, 104, 673250, 105, 679250, 106, 685250, 107, 691250, 108, 697250, 109, 703250, 110, 709250, 111, 715250, 112, 721250, 113, 727250, 114, 733250, 115, 739250, 116, 745250, 117, 751250, 118, 757250, 119, 763250, 120, 769250, 121, 775250, 122, 781250, 123, 787250, 124, 793250, 125, 799250, 0, 0 }; unsigned long NTSC_HRC[] = { 1, 72000, 2, 54000, 3, 60000, 4, 66000, 5, 78000, 6, 84000, 7, 174000, 8, 180000, 9, 186000, 10, 192000, 11, 198000, 12, 204000, 13, 210000, 14, 120000, 15, 126000, 16, 132000, 17, 138000, 18, 144000, 19, 150000, 20, 156000, 21, 162000, 22, 168000, 23, 216000, 24, 222000, 25, 228000, 26, 234000, 27, 240000, 28, 246000, 29, 252000, 30, 258000, 31, 264000, 32, 270000, 33, 276000, 34, 282000, 35, 288000, 36, 294000, 37, 300000, 38, 306000, 39, 312000, 40, 318000, 41, 324000, 42, 330000, 43, 336000, 44, 342000, 45, 348000, 46, 354000, 47, 360000, 48, 366000, 49, 372000, 50, 378000, 51, 384000, 52, 390000, 53, 396000, 54, 402000, 55, 408000, 56, 414000, 57, 420000, 58, 426000, 59, 432000, 60, 438000, 61, 444000, 62, 450000, 63, 456000, 64, 462000, 65, 468000, 66, 474000, 67, 480000, 68, 486000, 69, 492000, 70, 498000, 71, 504000, 72, 510000, 73, 516000, 74, 522000, 75, 528000, 76, 534000, 77, 540000, 78, 546000, 79, 552000, 80, 558000, 81, 564000, 82, 570000, 83, 576000, 84, 582000, 85, 588000, 86, 594000, 87, 600000, 88, 606000, 89, 612000, 90, 618000, 91, 624000, 92, 630000, 93, 636000, 94, 642000, 95, 900000, 96, 960000, 97, 102000, 98, 108000, 99, 114000, 100, 648000, 101, 654000, 102, 660000, 103, 666000, 104, 672000, 105, 678000, 106, 684000, 107, 690000, 108, 696000, 109, 702000, 110, 708000, 111, 714000, 112, 720000, 113, 726000, 114, 732000, 115, 738000, 116, 744000, 117, 750000, 118, 756000, 119, 762000, 120, 768000, 121, 774000, 122, 780000, 123, 786000, 124, 792000, 125, 798000, 0, 0 }; unsigned long NTSC_BCAST_JP[] = { 1, 91250, 2, 97250, 3, 103250, 4, 171250, 5, 177250, 6, 183250, 7, 189250, 8, 193250, 9, 199250, 10, 205250, 11, 211250, 12, 217250, 13, 471250, 14, 477250, 15, 483250, 16, 489250, 17, 495250, 18, 501250, 19, 507250, 20, 513250, 21, 519250, 22, 525250, 23, 531250, 24, 537250, 25, 543250, 26, 549250, 27, 555250, 28, 561250, 29, 567250, 30, 573250, 31, 579250, 32, 585250, 33, 591250, 34, 597250, 35, 603250, 36, 609250, 37, 615250, 38, 621250, 39, 627250, 40, 633250, 41, 639250, 42, 645250, 43, 651250, 44, 657250, 45, 663250, 46, 669250, 47, 675250, 48, 681250, 49, 687250, 50, 693250, 51, 699250, 52, 705250, 53, 711250, 54, 717250, 55, 723250, 56, 729250, 57, 735250, 58, 741250, 59, 747250, 60, 753250, 61, 759250, 62, 765250, 0, 0 }; unsigned long NTSC_CABLE_JP[] = { 13, 109250, 14, 115250, 15, 121250, 16, 127250, 17, 133250, 18, 139250, 19, 145250, 20, 151250, 21, 157250, 22, 165250, 23, 223250, 24, 231250, 25, 237250, 26, 243250, 27, 249250, 28, 253250, 29, 259250, 30, 265250, 31, 271250, 32, 277250, 33, 283250, 34, 289250, 35, 295250, 36, 301250, 37, 307250, 38, 313250, 39, 319250, 40, 325250, 41, 331250, 42, 337250, 43, 343250, 44, 349250, 45, 355250, 46, 361250, 47, 367250, 48, 373250, 49, 379250, 50, 385250, 51, 391250, 52, 397250, 53, 403250, 54, 409250, 55, 415250, 56, 421250, 57, 427250, 0, 0 }; int main(int argc, char *argv[]) { int fd, retval; unsigned long chann,freq, c, f, *array; struct v4l2_frequency2 vf; /* Pick your TV standard here! */ array = NTSC_CABLE; if (argc != 2) { printf("Usage: %s <channel>\n", argv[0]); return -1; } fd = open("/dev/video0", O_RDONLY); if (fd < 0) { printf("Couldn't open file\n"); return -1; } chann = (unsigned long)atol(argv[1]); freq = 0; while (*array != 0) { c = *(array++); f = *(array++); if (chann == c) { printf("found channel %d at %d\n", c, f); freq = (int)((f*16)/1000); /* was /1000 */ break; } } if (freq == 0) { printf("channel %d invalid or not found in this standard\n",chann); return -1; } vf.tuner = 0; vf.frequency = freq; retval = ioctl(fd, VIDIOC_S_FREQUENCY2, &vf); if (retval) printf("ioctl dinna work\n"); else printf("ioctl worked!\n"); return 0; }
BLU is a member of BostonUserGroups | |
We also thank MIT for the use of their facilities. |