To recap, what my problem was. My Western Digital myDVR 500gb external hard disk (extHD) started showing “need to reformat” messages every time it was accessed by my Dish 622 DVR. Since the extHD seemed OK hardware-wise, I suspected that I had some sort of software problem or soft disk error (corrupted directory etc.).
The first thing is to do a cold reboot of both DVR and extHD. If that fails then,
- Go to your DVR Menu - 6 - 3
- Select Counters
- Scroll down 7 times (at least on my 622)
- The counter is called 'Household Key seq num'
Assuming authorization is not a problem then you need to repair the extHD by connecting it to a PC running Linux. In my case I’m not a regular user of Linux so I took the route of creating a bootable USBDrive with an ISO image of Kubuntu. It only takes 1GB so hopefully you can get a USB drive and set it up the following way:
- Go to http://www.kubuntu.o...#download-block
- Download the image
- Create the Bootable USB (go to http://www.webupd8.o...e-live-usb.html if you want a utility to do this)
- Boot your PC with the USB drive (you probably have to press some function key like F12 on my Dell PC to get the boot menu)
- Select “load Kubuntu”
- Select “Run Trial” otherwise it’ll want to install onto one of your PC hard drives.
REMEMBER, in linux case matters so be careful what you type. Lowercase “b” is completely different from an uppercase “B”.
Go to the lower left of your desktop and click on the “Start” button (it looks like a star or asterix symbol)
Search for “terminal” and you should find Kubuntu’s version of what Windows calls a “Command Prompt” window.
Once the Terminal window is open type “sudo –i”
This is like “run as administrator” in Windows. Initially you’re logged in as a regular user named “kubuntu”. Sudo is the command to elevate a regular user to admin. Alternatively you could precede every command with sudo, but since we’re doing a number of Admin things, it’s easier to go this route.Type “fdisk –l”
This is the same as “dir” in DOS, and will list all drives currently connected to your PCLook closely at the names of the drives listed. They’ll be named something like /dev/hda, or /dev/hdb etc. Partitions on those drives will also be listed.
You want to do this so that you are really sure which are your internal PC drives so that you don’t accidently start trying to work on the wrong drive! It might be a good idea to write the names down on a piece of paper.Connect your extHD to the PC (in my case it was a USB connection).
Kubuntu should automatically mount the drive, but it may not if it’s really trashed.
Type “fdisk –l”
You do this again simply to be able to easily spot your extHD which should appear with another name. Double check the size to see if it is the size of your extHD.Make a note of the name of your extHD and the partition names listed. In my case the partition names were /dev/sdj1 and /dev/sdj2 (there’ll be more on larger hard drives since Dish DVR’s limit the partition size to around 500gb).
Next is the process of doing the equivalent of a “chkdsk” in Windows.
You will need to run the following command on EACH of your partitions separately.
Type “e2fsck – C0 –y –v /dev/sdj1”. The “C” is a capital C and the “0” is a zero. Replace the “/dev/sdj” with your first partition name.
Let the command run its course and hopefully it will report back that you have a “clean” partition.
The e2fsck “switches” (the –y, -v) basically tell the command to go ahead and fix any errors it finds without your involvement.In my case my first partition had errors, but e2fsck was able to fix them. You can run the command again, just to give you peace of mind that you don’t have to worry about that partition any more.
Type “e2fsck –C0 –y –v /dev/sdj2” (remember to replace the “/dev/sdj2” with the actual name for your second partition on your system).
If it comes up clean again you should be able to disconnect your extHD and try it on your DVR, if you can access it great, you’re done! If not read on…
In my case I got a message that a superblock could not be read and to try running the command again with an alternate superblock.
Superblocks are like the disk’s index. In my case it looks like that got corrupted. Fortunately Linux saves backups of these Superblocks which you can use instead and it will help with resurrecting your files.Type “apt-get install testdisk”
This should download and install a utility called testdisk that will let us display the superblocks.
- Type “testdisk”
- Select “[Create]” press the Enter key
- Highlight with the arrow keys the name of your extHD and press the Enter key.
- Select “[Intel]” press the Enter key
- Select “[Advanced]” and press the Enter key
- Select the partition name that had the problem (mine was the second one) and press the Enter key
- Write down the names and locations of all the superblocks listed. They should be something like:
- “superblock 71663616, blocksize=4096”
These are the backup indices I was referring to before
- Select “Quit” on each screen until you exit testdisk.
Type “e2fsck –b 71663616 – B 4096 –C0 –y –v /dev/sdj2”. Substitute the actual address of the superblock you wrote down (I used the first one) and also the partition name from your system.
Hopefully that should fix your partition. It did on mine, so I did not go further. I suppose you could try another superblock address if it still doesn’t come “Clean”.
Try your extHD on the DVR to see if that takes care of the problem. The DVR may come up with a message asking if you want to use this hard disk on you DVR (not the reformat message). That’s OK, its just trying to “re-own” the disk.
If this still doesn’t work, you need to actually copy the files off your extHD to another drive, reformat the original extHD and copy the files back into the same places on your extHD.
In preparation for doing the file transfers ideally you’ll need a second hard disk at least big enough to hold all the files from your extHD. That second drive should be formatted as “ext3”.
Ext3 is just a way of formatting like NTFS or FAT32 in windows.The best way to format the second hard disk is to let your DVR do it. Just plug it in and after it finishes, bring it back to the PC and plug it in.
In my case I did not have another external drive big enough to hold everything, but I did have a smaller one. Here are some scenarios you could use in that case:
- As long as you have enough room on your DVR’s internal hard disk, you could copy a portion of the files/folders onto the spare drive and then “Restore” them to your DVR. Once all the programs (files) are on your DVR’s internal drive, you could safely reformat the original drive with your DVR and copy the programs back onto the extHD. Please note that you will have to reformat your spare drive each time since once your DVR “touches it” it won’t accept new files/programs. As long as you’ve copied the programs to your internal drive, you can reformat and copy the remaining files from your original extHD. Another caveat. I had to first quick format the spare drive in windows since I didn’t know how under linux. Then when you plug it back into your DVR, it’ll ask to reformat. I know this works, formatting it under linux as a ext3 drive may not make the DVR want to reformat it itself. More on this later.
- If you have enough room on one of your PC drives, you could copy all the files from your extHD to a backup folder on your PC. Nothing I read talked about this, but it seems that at least with Kubuntu I could use my regular PC’s NTFS drives just as easily as ext3 drives. Just as a test I did copy three programs onto my smaller external drive and they read fine on the DVR. This method is kind of nice, since you can keep your programs as a backup on your Windows PC hard drive in case your hard disk actually dies and you need to load the programs onto a new drive. Just remember, they’re not usable by anything but your original DVR, unless Dish reauthorizes a new DVR.
If you look (explore) your extHD and your second drive, you should see one, two, or both of the following folders:
DishArc, and/or Lost+Found
DishArc (I assume it stands for Dish Archive) is where all your shows are. You’ll see folders with coded names and in each encrypted files which are probably the actual show (ts = transport stream) and other files which are probably description files. In any case don’t mess with any of this, you’re just browsing. Lost+Found may be a way to “undelete” programs, but in my case the folders were empty.
In order to copy files to and from the extHD to another disk, you need to go back to the terminal window.
Type “fdisk –l” to confirm the name of your drive (it may change if you’ve disconnected/reconnected it), and the name of your second hard drive.
Type “mount /dev/sdj2”, substitute the actual name of your second partition. It’ll say the disk is already mounted but also show you the directory name. On mine the name was a long series of numbers and letters (fortunately you can copy and paste anything displayed in the terminal window’s with the “Edit” menu.) For this example I’ll use the directory name “123abc”
Type “cd /media/123abc”, substitute your actual directory name.
This should be obvious since it’s the same in DOS, cd is “change directory”.
Type “ls –l”
ls as in “list”, this is the same as typing “dir” in DOS, gets you a list of the folders.
Type “chown kubuntu DishArc”
chown means “Change owner”, so we’re making our account “kubuntu” the owner so we can read/write to the DishArc directory/folder. It was originally owned by “root”, and it’s very important to change the ownership back for your DVR to work right!Now we need to do the same thing on your second hard drive, the one we’re using to copy your programs to. You DO NOT need to do this if you’re copying the programs to one of your PC drives as a backup.
Type “mount/dev/sdk2”. I’m using sdk2 as my directory name but you should type the actual name of the second partition on your SECOND hard drive. If you don’t know what the names are, simply follow the steps above starting with fdisk –l.
Type “cd /media/123edf”, substitute your actual directory name.
Type “ls –l”, to check that the DishArc on the SECOND hard drive is actually there as expected.
Type “chown kubunutu DishArc”.
Now you’re ready to do the copying back in the Kubuntu File Manager.
Open the “DishArc” folder from your extHD and select all the folders at once by encircling them with the mouse.
Right Click and select “Copy” from the pop-up menu.
Open the “Dish Arc” folder from your second hard drive, or PC drive’s backup folder.
Right click in the blank area in the opened “Dish Arc” folder.
Select “Paste (x)” from the pop-up menu. NOTE: the (x) should show the number of folders(programs) that you are about to copy. If you do not see the right number OR the “Paste” option is not available, you did something wrong and you need to retrace your steps.
At this point the copying process will start. Kubuntu will show a status in the lower right corner with the number of files to be copied in a circle. If you click on the circle it will display a bigger status window which will show the progress. Depending on how many programs and if they’re high def, it will take a while. Just let it do its stuff.
Once done, just make sure you’ve got the right number of folders displayed in the DishArc folder on your second drive.
Go back to your Terminal window and type:
“chown root DishArc”
This changes the ownership back to user “root”, the admin account. If you don’t do this, your DVR will not be able to use the contents of your external drive. In that case you’ll have to reformat and start the whole copy/permission settings again!
The next part is optional. I did it simply to put my mind at ease and make sure what I expected to happen worked.
Since I did have a smaller secondary drive, I wanted to see if the programs I copied to my PC backup folder (NTFS) could actually work when copied to a second ext3 drive formatted by my DVR.
I copied only the first folder to save time, thinking I could copy more if that worked.
I changed the ownership back to “root” (see above).
I plugged in the smaller secondary drive into my DVR and it asked if I wanted to use this drive with my DVR. I said yes.
Success! I saw my one program, it ran and I also could copy and restore as usual.
At this point I thought I was all set, but what I discovered was for some reason the SECOND time you copy stuff into the DishArc folder, the DVR won’t like it and none of the programs on the secondary hard disk will show. Maybe this is some sort of authorization/copy protection issue, but in any case your only choice is the have the DVR reformat and copy ALL the programs from your back up the first time.
If you went with the second hard drive you’re all set to plug into your DVR.
The DVR will ask if you want to use this hard disk with your DVR, answer yes.
That should be it. In the end, I kept my backup folder on my PC just as a safety and if I’m smart I’ll back it up regularly, right?
If you haven’t figured out how to end Kubuntu, it’s the same as Windows: Start menu, shut off. Remove your USB key and the next time your PC boots it’ll go right back to Windows.
Hope this helps you, it sure saved my skin. Thanks again to everyone who helped and the original authors of many parts of the procedures I’ve paraphrased.