Re: Проблема с подключением смартфона как usb-накопителя (Debian Jessie, KDE)
On 2014-01-28, Alexander Galanin wrote:
> On Tue, 28 Jan 2014 00:16:45 +0400
> Руслан Зиганшин <ziganshinruslan@gmail.com> wrote:
>
>> попытаться примонтировать этот самый /dev/sdX девайс куда-либо
>> (разумеется неудачно, зато станут доступны /dev/sdX1 и /dev/sdX2). Что
>> надо сделать, чтобы разделы на устройстве виделись автоматически?
>
> Таблица разделов, как я понимаю, считывается при первом обращении к
> устройству. Соответственно, надо иметь какую-либо программу, которая
> будет периодически устройства опрашивать. На моей рабочей станции этим
> занимается udisks, который кто-то притащил по зависимостям.
>
Спасибо! Поглядел на apt-cache show udisks/udisks2 (D-Bus поделия) и сразу в
голову пришли ключевые слова:
linux reload disk partition table
Можно:
$ sudo partprobe # apt-get install parted
или:
$ sudo partprobe /dev/sde
Для "отключения" Android диска используем:
$ sudo eject /dev/sde # apt-get install eject
Как сделать udev правило - не знаю какие события нужно ловить о изменении
таблицы разделов диска.
В parted/libparted/arch/linux.c нашел:
ioctl (... HDIO_GET_IDENTITY ...) для ide
ioctl (... SCSI_IOCTL_GET_IDLUN ...) для scsi
ioctl (... HDIO_GETGEO ...) для generic
По идее эти системные вызовы отвечают за перечитывание разделов.
Код интерсный в parted:
static void
linux_probe_all ()
{
_probe_standard_devices ();
...
}
static int
_probe_standard_devices ()
{
_ped_device_probe ("/dev/hda");
_ped_device_probe ("/dev/hdb");
...
_ped_device_probe ("/dev/hdg");
_ped_device_probe ("/dev/hdh");
_ped_device_probe ("/dev/sda");
...
_ped_device_probe ("/dev/sdf");
return 1;
}
У меня как раз на "f" заканчивается с Android устройством:
$ ls /dev/sd?
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde
/dev/sdf
--
Best regards!
Reply to: