Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[unRAID 6 beta14+] Unassigned Devices [former Auto Mount USB]

Featured Replies

2015.05.17

  • Replies 814
  • Views 207.2k
  • Created
  • Last Reply

In my case, the drive doesn't show up in /dev/disk/by-id, or even in /dev.  Also, lsblk doesn't show it either.

 

I know that I used to connect drives in this way in order to preclear them.

 

If I connect the esata to another machine (running Arch Linux), then the drive does appear in /dev and lsblk.

 

I have a suspicion that the new drive limitation in unRAID is preventing the drive from being shown.

  • Author

In my case, the drive doesn't show up in /dev/disk/by-id, or even in /dev.  Also, lsblk doesn't show it either.

 

I know that I used to connect drives in this way in order to preclear them.

 

If I connect the esata to another machine (running Arch Linux), then the drive does appear in /dev and lsblk.

 

I have a suspicion that the new drive limitation in unRAID is preventing the drive from being shown.

 

Have you tried to run this?

 

udevadm trigger --action=change

In my case, the drive doesn't show up in /dev/disk/by-id, or even in /dev.  Also, lsblk doesn't show it either.

 

I know that I used to connect drives in this way in order to preclear them.

 

If I connect the esata to another machine (running Arch Linux), then the drive does appear in /dev and lsblk.

 

I have a suspicion that the new drive limitation in unRAID is preventing the drive from being shown.

The limitation now applies to connected devices, not just unRAID configured devices, so that may be. What license and how many devices are you trying to use?
Have you tried to run this?

 

udevadm trigger --action=change

 

Okay, that made the drive appear - both in unassigned devices list and preclear devices list.

  • Author

Have you tried to run this?

 

udevadm trigger --action=change

 

Okay, that made the drive appear - both in unassigned devices list and preclear devices list.

 

It's an UDEV problem; or a rule is bugged or your HBA is not issuing an ADD action.

 

Try this and see if a ACTION=add is triggered:

 

udevadm test --action=add $(udevadm info -q path -n /dev/SDX )

- I suspect that this is due to changes in the unRAID drive handling code.

 

I don't think so, because it's the kernel that identifies and sets up the devices.  Tom would not modify the kernel.

after gfjardim fixed the esata problem i have a new one:

this plugin is initializing to late, so my sabnzbd is already expecting /mnt/downloads/… directories to work with it. like resuming the downloads. is it possible to mount the drive faster before every other plugin? as fast as in the go file?

  • Author

after gfjardim fixed the esata problem i have a new one:

this plugin is initializing to late, so my sabnzbd is already expecting /mnt/downloads/… directories to work with it. like resuming the downloads. is it possible to mount the drive faster before every other plugin? as fast as in the go file?

 

Simple answer: migrate to Docker or ask your plugin maintainer to delay it's startup to a latter event.

Have you tried to run this?

 

udevadm trigger --action=change

 

Okay, that made the drive appear - both in unassigned devices list and preclear devices list.

 

It's an UDEV problem; or a rule is bugged or your HBA is not issuing an ADD action.

 

Try this and see if a ACTION=add is triggered:

 

udevadm test --action=add $(udevadm info -q path -n /dev/SDX )

 

Like this?:

root@Tower:~# udevadm test --action=add $(udevadm info -q path -n /dev/sdk )
run_command: calling: test
adm_test: version 182
This program is for debugging only, it does not run any program,
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

builtin_kmod_init: load module index
add_matching_files: unable to open '/run/udev/rules.d': No such file or directory
parse_file: reading '/lib/udev/rules.d/10-dm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/11-dm-lvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/13-dm-disk.rules' as rules file
parse_file: reading '/lib/udev/rules.d/40-slackware.rules' as rules file
parse_file: reading '/lib/udev/rules.d/42-usb-hid-pm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/50-udev-default.rules' as rules file
parse_file: reading '/lib/udev/rules.d/59-non-libata-devices.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-cdrom_id.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-floppy.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-alsa.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-serial.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-storage.rules' as rules file
parse_file: reading '/lib/udev/rules.d/60-persistent-v4l.rules' as rules file
parse_file: reading '/lib/udev/rules.d/61-accelerometer.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-kvm.rules' as rules file
parse_file: reading '/lib/udev/rules.d/65-permissions.rules' as rules file
udev_rules_new: ignore empty '/etc/udev/rules.d/70-persistent-cd.rules'
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-net-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-probe_mtd.rules' as rules file
parse_file: reading '/lib/udev/rules.d/75-tty-description.rules' as rules file
parse_file: reading '/lib/udev/rules.d/78-sound-card.rules' as rules file
parse_file: reading '/lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-dm-notify.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keyboard-force-release.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-keymap.rules' as rules file
parse_file: reading '/lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '/lib/udev/rules.d/99-fuse.rules' as rules file
parse_file: reading '/etc/udev/rules.d/99_persistent_unassigned.rules' as rules file
udev_rules_new: rules use 24144 bytes tokens (2012 * 12 bytes), 15288 bytes buffer
udev_rules_new: temporary index used 15680 bytes (784 * 20 bytes)
udev_device_new_from_syspath: device 0x6276b0 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk'
udev_device_new_from_syspath: device 0x62d530 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk'
udev_device_read_db: no db file to read /run/udev/data/b8:160: No such file or directory
udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/50-udev-default.rules:67
udev_device_new_from_syspath: device 0x62ea40 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0'
udev_device_new_from_syspath: device 0x62f110 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0'
udev_device_new_from_syspath: device 0x62ad60 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6/host7'
udev_device_new_from_syspath: device 0x62b210 has devpath '/devices/pci0000:00/0000:00:1f.2/ata6'
udev_device_new_from_syspath: device 0x62b660 has devpath '/devices/pci0000:00/0000:00:1f.2'
udev_device_new_from_syspath: device 0x62bb10 has devpath '/devices/pci0000:00'
udev_rules_apply_to_event: IMPORT 'ata_id --export /dev/sdk' /lib/udev/rules.d/60-persistent-storage.rules:32
udev_event_spawn: starting 'ata_id --export /dev/sdk'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_TYPE=disk'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_BUS=ata'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_MODEL=WDC_WD10EARS-00Y5B1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_MODEL_ENC=WDC\x20WD10EARS-00Y5B1\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_REVISION=80.00A80'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_SERIAL=WDC_WD10EARS-00Y5B1_WD-WCAV56040419'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_SERIAL_SHORT=WD-WCAV56040419'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_WRITE_CACHE=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_WRITE_CACHE_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_HPA=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_HPA_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PM=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PM_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY_ENABLED=0'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=204'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=204'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SMART=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_SMART_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM_ENABLED=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=128'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PUIS=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_FEATURE_SET_PUIS_ENABLED=0'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_DOWNLOAD_MICROCODE=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_SATA=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_SATA_SIGNAL_RATE_GEN2=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_ATA_SATA_SIGNAL_RATE_GEN1=1'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_WWN=0x50014ee203cca9b8'
spawn_read: 'ata_id --export /dev/sdk'(out) 'ID_WWN_WITH_EXTENSION=0x50014ee203cca9b8'
spawn_wait: 'ata_id --export /dev/sdk' [8628] exit with return code 0
udev_rules_apply_to_event: LINK 'disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419' /lib/udev/rules.d/60-persistent-storage.rules:44
udev_rules_apply_to_event: IMPORT builtin 'path_id' /lib/udev/rules.d/60-persistent-storage.rules:57
udev_rules_apply_to_event: IMPORT builtin 'path_id' returned non-zero
udev_rules_apply_to_event: IMPORT builtin 'blkid' /lib/udev/rules.d/60-persistent-storage.rules:72
builtin_blkid: probe /dev/sdk raid offset=0
[*****Long pause here*****]
udev_rules_apply_to_event: LINK 'disk/by-id/wwn-0x50014ee203cca9b8' /lib/udev/rules.d/60-persistent-storage.rules:82
udev_rules_apply_to_event: GROUP 6 /lib/udev/rules.d/65-permissions.rules:13
udev_node_add: handling device node '/dev/sdk', devnum=b8:160, mode=0660, uid=0, gid=6
node_fixup: preserve permissions /dev/sdk, 060660, uid=0, gid=6
node_symlink: preserve already existing symlink '/dev/block/8:160' to '../sdk'
link_find_prioritized: found 'b8:160' claiming '/run/udev/links/disk\x2fby-id\x2fata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419'
link_update: creating link '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419' to '/dev/sdk'
node_symlink: preserve already existing symlink '/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419' to '../../sdk'
link_find_prioritized: found 'b8:160' claiming '/run/udev/links/disk\x2fby-id\x2fwwn-0x50014ee203cca9b8'
link_update: creating link '/dev/disk/by-id/wwn-0x50014ee203cca9b8' to '/dev/sdk'
node_symlink: preserve already existing symlink '/dev/disk/by-id/wwn-0x50014ee203cca9b8' to '../../sdk'
udev_device_update_db: created db file '/run/udev/data/b8:160' for '/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk'
ACTION=add
DEVLINKS=/dev/disk/by-id/ata-WDC_WD10EARS-00Y5B1_WD-WCAV56040419 /dev/disk/by-id/wwn-0x50014ee203cca9b8
DEVNAME=/dev/sdk
DEVPATH=/devices/pci0000:00/0000:00:1f.2/ata6/host7/target7:0:0/7:0:0:0/block/sdk
DEVTYPE=disk
ID_ATA=1
ID_ATA_DOWNLOAD_MICROCODE=1
ID_ATA_FEATURE_SET_AAM=1
ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=128
ID_ATA_FEATURE_SET_AAM_ENABLED=1
ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128
ID_ATA_FEATURE_SET_HPA=1
ID_ATA_FEATURE_SET_HPA_ENABLED=1
ID_ATA_FEATURE_SET_PM=1
ID_ATA_FEATURE_SET_PM_ENABLED=1
ID_ATA_FEATURE_SET_PUIS=1
ID_ATA_FEATURE_SET_PUIS_ENABLED=0
ID_ATA_FEATURE_SET_SECURITY=1
ID_ATA_FEATURE_SET_SECURITY_ENABLED=0
ID_ATA_FEATURE_SET_SECURITY_ENHANCED_ERASE_UNIT_MIN=204
ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=204
ID_ATA_FEATURE_SET_SMART=1
ID_ATA_FEATURE_SET_SMART_ENABLED=1
ID_ATA_SATA=1
ID_ATA_SATA_SIGNAL_RATE_GEN1=1
ID_ATA_SATA_SIGNAL_RATE_GEN2=1
ID_ATA_WRITE_CACHE=1
ID_ATA_WRITE_CACHE_ENABLED=1
ID_BUS=ata
ID_MODEL=WDC_WD10EARS-00Y5B1
ID_MODEL_ENC=WDC\x20WD10EARS-00Y5B1\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20
ID_REVISION=80.00A80
ID_SERIAL=WDC_WD10EARS-00Y5B1_WD-WCAV56040419
ID_SERIAL_SHORT=WD-WCAV56040419
ID_TYPE=disk
ID_WWN=0x50014ee203cca9b8
ID_WWN_WITH_EXTENSION=0x50014ee203cca9b8
MAJOR=8
MINOR=160
SUBSYSTEM=block
UDEV_LOG=6
USEC_INITIALIZED=96505629495
builtin_kmod_exit: unload module index
root@Tower:~# 

 

I've inserted 'Long pause here' text in the output above - it took many seconds, maybe more than a minute, but after that the drive did appear in the gui.

  • Author

 

I've inserted 'Long pause here' text in the output above - it took many seconds, maybe more than a minute, but after that the drive did appear in the gui.

 

The output seems correct. I have no clue about your problem.

The output seems correct. I have no clue about your problem.

 

I wonder whether I was simply being too impatient and not waiting long enough.  I didn't time the delay above, but it was in the order of a couple of minutes.

 

Edit to add:

I do notice that while the 'new' esata-connected drive is attached, another 'unassigned' drive (my docker drive) gets accessed very heavily.  I wonder whether this is the reason for the delay in the esata drive being recognised.

 

At present, I'm still mounting the docker drive in my 'go' script - I haven't yet got around to setting it to automount with the new plugin.

I'm so late to this party, mainly because I've never had any need to SNAP any usb drives in the past... but now I'm looking for faster/bigger/more drives than the single cache drive available by the system and have finally found this. Well done gfjardim, such a fine plugin!

IMHO though, the name is an understatement. Sure it's factual and correct... but unassigned devices are like a pool of disks in waiting... like purgatory. What if we want to give a more permanent role of these disks? Just my 2 cents :)

 

Btw, can we raid a few disks together via btrfs and make it available through this plugin? I already have a btrfs mirorred cache drive, looking to add 3 drives in raid-5 config if possible.

  • Author

IMHO though, the name is an understatement. Sure it's factual and correct... but unassigned devices are like a pool of disks in waiting... like purgatory. What if we want to give a more permanent role of these disks? Just my 2 cents :)

 

Btw, can we raid a few disks together via btrfs and make it available through this plugin? I already have a btrfs mirorred cache drive, looking to add 3 drives in raid-5 config if possible.

 

They are unassigned disks from the main array. They are not in the purgatory, they just find a nice "Unassigned Devices" home.  ;D

 

About btrfs, I think if you mount any of the disks in the btrfs pool, the pool itself get's mounted, but I cannot test this.

 

 

I suppose I would suggest asking if you can absorb the SNAP name. dlandon has said this works better in v6 and he's going to minimally maintain SNAP from now on.

 

There is a new plugin that has the functionality of SNAP that integrates better with unRAID V6.  The plugin is here: http://lime-technology.com/forum/index.php?topic=38635.0  I recommend you convert to this plugin.  I will maintain SNAP as long as I can with my limited time to work on it, but I won't make any enhancements.

 

Maybe call this SNAP2.0 .. or PANS ;-)

 

SUDS: Sharing Unassigned Devices Simply / Simple Unassigned Device Sharing

MUD: Mounting Unassigned Devices

[hangs head]

 

Why?  WHY!?!?!?!

 

Stop trying to make un[insert anything] happen, its not going to happen  8):P

  • Author

[hangs head]

 

Why?  WHY!?!?!?!

 

Stop trying to make un[insert anything] happen, its not going to happen  8):P

 

Will call it unDAMN (unRAID Disk Auto Mount for Nimrods).  ::)

[hangs head]

 

Why?  WHY!?!?!?!

 

Stop trying to make un[insert anything] happen, its not going to happen  8):P

 

Will call it unDAMN (unRAID Disk Auto Mount for Nimrods).  ::)

 

That's perfect! Actually I really like that it uses a current tab, why add extra tabs???

  • Author

 

That's perfect! Actually I really like that it uses a current tab, why add extra tabs???

 

I just reused the space because, let's face it, the original one is just for informational purposes (useless).

 

That's perfect! Actually I really like that it uses a current tab, why add extra tabs???

 

I just reused the space because, let's face it, the original one is just for informational purposes (useless).

 

Agreed.

How about unMount

 

Lol

Just kidding

I like it. You could start a real "Who's on First" routine with that.
  • Author

How about unMount

 

Lol

Just kidding

I like it. You could start a real "Who's on First" routine with that.

 

How to mount if its called unMount ?  :o :o

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.