What's new

USB Hard Drive and 87U

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Hady Elneklawy

Occasional Visitor
Dear All,

I have an 87U and tried Merlin 378.56_2 as well as RT-AC87U_380.57.1_HGG, i have one issue till now that is driving me crazy.

I connected a Seagate 8TB hard drive through USB3 and was working fine, all devices have been able to connect to it with no issues. I configured The Seagate to spin down through its own application (not in the router FW). Today i tried to scan the hard drive for errors from within the router FW, and it said is found errors, I connected to a windows PC, and scanned/fixed everything. Now when i connect the drive it is detected until I try to access it from any device where the CPU load of the router goes to 100% and the router almost hangs

the system log shows as below:

Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512
Jan 11 00:39:42 kernel: __find_get_block_slow() failed. block=4462478016, b_blocknr=167510720
Jan 11 00:39:42 kernel: b_state=0x00000020, b_size=512
Jan 11 00:39:42 kernel: device blocksize: 512


Plz help... what do i do? I have to reset the router to return normal again, until i try to access the hard drive.

It was working normal before.....what happened?

Hady
 
I have done some testing... It seems there are only 2 folders which cause this issue when i try to open them through the network. I tried changing the names of the folders (using PC) but still when connected through router they cause these issues when accessed.

Is this normal?? what is wrong? I have done chkdsk couple of times in windows and there are no issues whatsoever.... Looks like I have ghosts in my router :)
 
Well...ummm
I tried a funny thing out of desperation. I created new folders for all of the folder/sub folders that are creating issues, then i moved only the files from the old folders/subfolders to the new ones. Then I deleted the old folder and renamed the new folders same as the old ones.... Seems working now ...... Ghosts....?
 
I'm having the same issue. I simply get this fault when the drive mounts with my new RT-AC3200. The previous NTFS drivers had no issues with this drive, but since I upgraded from my AC66R, slowdown and dismounts. Any advice?
 
I have confirmed this will happen when mounting from OS X and as soon as I access a directory.
 
Digging up more information, the error will not manifest when using windows, but will when using OS X.
 
Still can't figure how to resolve this issue, I can't mount the disk until I do so. I miss the old drivers. I can't update my other router because the old drivers still work.
 
I nearly pulled all my hair off due to this problem. My 4TB USB drive was working fine until one day these symptoms started when browsing to certain directories. I just avoided those directories for a while but then even just mounting my 4TB drive triggered this. So I tried various things and found out that tntfs driver seems to be the culprit - ntfs-3g, while slower, has no such problems. Only problem is that Asuswrt-Merlin does not include ntfs-3g nor does it allow any way to control which driver is to be used with NTFS partitions when automounting USB drives. My solution was to install entware-ng to JFFS partition, install ntfs-3g from entware repository and use custom fstab to mount USB drive using ntfs-3g driver.

Here's short instructions, perhaps somebody else could try this out and let me know if it worked...

- Enable JFFS and SSH from web UI

- Login to your router using SSH

- Create ext4 loopback device for entware installation (because setup script won't allow to use JFFS for some reason):
dd if=/dev/zero of=/tmp/entware.loopback bs=1k count=15360
mkfs.ext4 /tmp/entware.loopback
mkdir /tmp/mnt/entware
mount -o loop /tmp/entware.loopback /tmp/mnt/entware


- Install entware (/tmp/mnt/entware can be used as installation target):
entware-setup.sh

- Move entware to JFFS:
mv /tmp/mnt/entware/entware/ /jffs/
umount /tmp/mnt/entware
rm /tmp/entware.loopback


- Remove post-mount script which sets up symbolic link for entware when USB disc is inserted since we have it in JFFS now (if you have your own custom stuff on post-mount then just delete those entware rows)
rm /jffs/scripts/post-mount

- Create init-start script which creates symbolic link for entware on boot and creates mountpoint for your USB drive (again if you already have init-start then just edit it):
echo "#!/bin/sh" > /jffs/scripts/init-start
echo "ln -s /jffs/entware /tmp/opt" >> /jffs/scripts/init-start
echo "mkdir /tmp/mnt/usb" >> /jffs/scripts/init-start
chmod +x init-start


- Reboot your router and re-login using SSH

- Install ntfs-3g and lsblk:
opkg install ntfs-3g lsblk

- Plugin your USB drive, wait for it to be automatically mounted and get UUID for it (this may or may not trigger tntfs bug and eat all CPU time but your still should be able to run the commands albeit slow):
lsblk --output UUID,NAME

Output should be something like this:

UUID NAME
sda
├─sda1
626C933A6C930845 └─sda2


- Create fstab entry for your USB drive:

echo "UUID=626C933A6C930845 /tmp/mnt/usb ntfs-3g defaults,noatime,big_writes 0 0" > /jffs/configs/fstab

- Reboot your router and re-login using SSH

- Check that USB drive is now mounted using ntfs-3g instead of tntfs:
mount | grep /tmp/mnt/usb

Output should be (type fuseblk indicates that ntfs-3g was used):
/dev/sda2 on /tmp/mnt/usb type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

- Done!

To RMerlin, please consider making ntfs-3g available by using nvram setting or something. I took a look of the source codes and it should not be hugely difficult.
 
Last edited:
What would be directions for the new Merlin version 384?
In 384, JFFS is already mounted, and SSH installed.
But I have zero experience with things described, starting from "create a loopback"...what?
mkfs.ext4 fails with "mkfs.ext4: not found" message.

I have somewhat similar issues with 1Tb NTFS partition, when the total number of files is around 100,000; no more files/directories can be created, and weird partition errors are logged.
 
What would be directions for the new Merlin version 384?
In 384, JFFS is already mounted, and SSH installed.
But I have zero experience with things described, starting from "create a loopback"...what?
mkfs.ext4 fails with "mkfs.ext4: not found" message.

I have somewhat similar issues with 1Tb NTFS partition, when the total number of files is around 100,000; no more files/directories can be created, and weird partition errors are logged.
You have to use exFat or ext4. Personally I would use ext4 with a drive connected to the router. I have a 120gb SSD on mine with two ext4 partitions. One 2gb Swap and the rest is for entware, etc.
 
eemm... I had impression that it is not about storage, but about installer writing to JFFS... at this stage HDD is not even attached.
But if I can not make this "loopback" (I have no Idea how it works) with mkfs.ext4, what should I do?

Well, about exfats and ext4 on external drive - it is not useful when creating a backup solution - neither Windows recognizes ext4, nor there any boot loader for exFAT exists - you can not just plug it into laptop when restoring, MBR-NTFS is the only option.
 
eemm... I had impression that it is not about storage, but about installer writing to JFFS... at this stage HDD is not even attached.
But if I can not make this "loopback" (I have no Idea how it works) with mkfs.ext4, what should I do?

Well, about exfats and ext4 on external drive - it is not useful when creating a backup solution - neither Windows recognizes ext4, nor there any boot loader for exFAT exists - you can not just plug it into laptop when restoring, MBR-NTFS is the only option.
Yes, you want to be able to back up the JFFS folder. Using exFAT, you have to write a script in the JFFS Scripts folder to mount the drive and SaMBa Config to allow the exFAT partition to be seen across the network. Also you have to use Entware and install the exFAT package.

I have used my NVIDIA Shield as a Plex server in the past. It works better than using the Router as a server. Even a Raspberry Pi or other SBC is a better alternative as a headless unit connected to the router.
 
I think we are talking about different things. Lets forget about ExtFAT forever, and about attached HDD for a while. How can I create that loopback in the walkthrough above, if there is no mkfs.ext4?
Since I definitely have problems with bundled NTFS driver, I want to try the "ntfs-3g" mentioned above
 
All of those "complicated" instructions about loopbacks are to achieve one thing, being able to install Entware when you don't have an attached USB device.

I suggest an easier approach would be to take a USB flash drive, format it as ext2 and install Entware on that using the usual method. Then you can continue the instructions above from the point where you move the Entware installation from the USB drive to jffs. You can then remove the USB flash drive as it is not needed anymore.

EDIT: If you want to continue with the original method above use this command instead of mkfs.ext4 (or use ext2 instead, it really doesn't matter which)

mke2fs -t ext4 /tmp/entware.loopback
 
Last edited:
Since I definitely have problems with bundled NTFS driver, I want to try the "ntfs-3g" mentioned above
It would be interesting to hear your results of using ntfs-3g. Particularly so because ntfs-3g is the open source version of the Tuxera driver that is included as part of the firmware.

https://www.tuxera.com/community/ntfs-3g-manual/

Side note: The current Tuxera driver appeared to create a different problem for Samba that required Merlin to create a work around. See here and here.
 
@Hale_JP

As I already had Entware installed on my router I thought I'd install ntfs-3g and give it a try. Much to my surprise it actually worked (in that I could mount an NTFS drive using the fuseblk driver)! I can't say whether it will work for you or solve your problem because I have no way of testing that and my hardware/firmware is completely different to yours. Good luck.
 
Merlin says the automount will not pick it up, so there are more things to do. I have a lot of job till January, so I probably postpone the quest :( . Decided to remove all synched files and get back to storing packed drive images.
 
Merlin says the automount will not pick it up,
It's true that you can't change the normal automount process, however you can bypass it altogether by using a custom fstab as described earlier in this thread. This does work and will automatically mount the filesystem. This method is even described in a wiki entry that Merlin wrote himself! Although it was back in 2013 so we can forgive him for forgetting about it.:D
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top