Changing tuner location makes TV-Server use 100% CPU (1 Viewer)

risu

MP Donator
  • Premium Supporter
  • September 22, 2006
    279
    19
    Home Country
    Finland Finland
    TV-Server Version: 17524
    MediaPortal Version: 17524
    MediaPortal Skin:
    Windows Version: Vista SP1 32bit
    CPU Type: AMD64 3500+
    HDD: 500GB SATA2
    Memory: 2GB DDR-400
    Motherboard: Asus A8N-VM CSM
    Motherboard Chipset: nForce 430
    Motherboard Bios: 1007
    Video Card: Radeon HD3850
    Video Card Driver: Catalyst 8.2
    Sound Card: Integrated AD1986A
    Sound Card AC3: coaxial out
    Sound Card Driver: SoundMax 6.10.1.6140
    1. TV Card: FireDTV C/CI
    1. TV Card Type: DVB-C
    1. TV Card Driver: 4.8.0
    2. TV Card: Technotrend C-1500
    2. TV Card Type: DVB-C
    2. TV Card Driver: 5.0.0.12
    3. TV Card:
    3. TV Card Type:
    3. TV Card Driver:
    4. TV Card:
    4. TV Card Type:
    4. TV Card Driver:
    MPEG2 Video Codec: PowerDVD 7.3 Ultra
    MPEG2 Audio Codec: MPA Audio Codec
    Satelite/CableTV Provider:
    HTPC Case:
    Cooling:
    Power Supply: Nexus 400W
    Remote: MCE
    TV: Sanyo PLV-Z5
    TV - HTPC Connection: DVI-HDMI

    I've encountered this before on XP install too. Sometimes when I change tuner location to other PCI-track, Windows automatically installs tuner again and TV Server can't handle it. It doesn't happen everytime but when it does, there's nothing else you can do but delete TV-database and create new one.

    If I don't, starting TV-service after TV server SVN install makes CPU usage go to 100% by tvservice.exe and setuptv.exe doesn't load. It stays 100% no matter how long I wait. I have to manually kill the process. No matter what I do, how many times I reboot after uninstall or which SVN I install, it stays like that until I manually delete the whole tv database. After that it's ok again. I use mssql 2005 express sp2 currently but it did happen with XP and mssql 2005 (no sp).

    I had this trouble today with Technotrend C1500. Any dev got idea why TV Server can't handle situation like this? It took a while to figure it out as I was first thinking it was new SVN that was behind this trouble (I installed new SVN right after changing cards location).
     

    LabRatt

    Portal Member
    December 5, 2005
    11
    0
    You don't have to delete the database, as long as you're not afraid of some slightly technical stuff. I've just had the same thing happen - one of my two USB cards didn't come back after standby, and when I removed and reinserted it it had a different address.

    First, open the database in a management tool (I'm using SQL Server 2005 Express so I used the Management Studio, if you're on MySQL then phpMyAdmin's the easiest), then open the Card table. You should see one record for each card, an additional "RadioWebStream" entry, then a new one with no name.

    What you need to do (with TVService and SetupTV.exe not running) is copy the devicePath string from the new entry and replace the one that's not working with the new one, then delete the new record. If you've got more than one card, then figuring out which one to replace can be tricky. If you're on Vista you're on your own here, 'cos where to find things might have changed, but if you're on XP...

    Open Device Manager (Windows Key+Pause to get the System Properties window, click the button on the Hardware tab). Scroll down until you find "Sound, video and game controllers" and click the + sign to list the hardware. Now, double-click on the first TV card you see ("Freecom USB Digital-TV Receiver." for me) and in the Properties window that comes up go to the Details tab. The Device Instance ID (the information you need) should be visible right away, and that will tell you which record to change. Back in the database, the string after "@device:pnp:\\?\" in the devicePath field is that ID.

    Using my situation as an example, I have two cards, and only one has changed. Going to device manager I find that the Device Instance ID of my first card ("usb\vid_14aa&pid_0226&mi_00\6&162b56e2&0&0000") is present in the first record

    device:pnp:\\?\usb#vid_14aa&pid_0226&mi_00#6&162b56e2&0&0000#{71985f48-1ca1-11d3-9cc8-00c04f7971e0}\{9878bb92-0ad3-4d5c-8d73-d703fb30fb46}
    - the slashes are changed to hashes

    while the ID of the second card ("usb\vid_14aa&pid_0226&mi_00\6&1aefb1a8&0&0000" - see the difference?) is present in the devicePath of the new (incomplete) record

    @device:pnp:\\?\usb#vid_14aa&pid_0226&mi_00#6&1aefb1a8&0&0000#{71985f48-1ca1-11d3-9cc8-00c04f7971e0}\{9878bb92-0ad3-4d5c-8d73-d703fb30fb46}

    So all I need to do is replace the device path in the second record (the one with no match) with that from the new (incomplete) record, and delete the new one. I've tested it twice, and it works, though it's a pain. It does avoid losing recordings, schedules, channel groups, etc. though.

    Hope you followed that, good luck.
     

    risu

    MP Donator
  • Premium Supporter
  • September 22, 2006
    279
    19
    Home Country
    Finland Finland
    I knew there was possibility to edit database but I'm not used to work with db's that much. What you said about device IDs makes sense and I've used that info before when I modified old TVE2 to accept new drivers. Just that simple thing as card moving it's place is not something user should worry about, and that makes this a bug.

    Could setuptv just check if device id's match before trying to do anything else? And correct problem of course if system doesn't match.
     

    Users who are viewing this thread

    Top Bottom