1 votes

Blocage et périphérique de caractères sur réseau sous linux

Y a-t-il un moyen générique de partager un bloc ou un périphérique caractère sur un réseau?

Toutes les questions connexes résolues avec une réponse spécifique comme : si vous voulez partager un disque entre hôtes, utilisez NFS, SMB, iSCSI, ou AoE. Si vous voulez partager un tuner TV ou une webcam, diffusez-les avec mplayer ou VLC. Ou utilisez USBIP si vous voulez relayer un périphérique USB local vers un autre hôte.

Mais que faire si je veux partager un port LPT, RS232, audio, mixeur ou un tuner TV avec la capacité de changer de chaîne naturellement (je veux dire relayer ioctl)?

Je pense que c'est une bonne solution pour partager n'importe quel périphérique basé sur un bloc ou un caractère sur le réseau, pour éviter diverses solutions spécifiques à une application.

Il semble que ce n'est pas si difficile à réaliser. Le seul outil qui n'est pas inclus dans Linux "officiellement" est BUSE (périphérique bloc pour Espace Utilisateur).

Est-ce la seule raison pour laquelle cette solution n'est pas mise en œuvre ou y a-t-il un autre facteur qui pourrait compromettre la fonctionnalité?

1voto

Vous pouvez partager des blocs avec "nbd"

ls -l /dev/ | grep -e "^b"

J'avais réussi à faire jouer du son via samba ; c'était il y a très longtemps, quand le son utilisait encore des blocs bruts (avant qu'ALSA ne devienne populaire). Donc, samba peut encore fonctionner pour certains types de choses. De mémoire, j'avais également réussi à lire directement des CD-ROM via samba, mais de mémoire, l'écriture sur CD échouait.

Je n'ai pas de solution pour les caractères.

LPT ne peut pas être partagé sur le réseau car il utilise le DMA.

UART (série) peut l'être, en utilisant NBD. Vous devrez peut-être modifier localement la configuration du port ; mais le flux peut transiter via nbd.

Pour le son, avant Alsa, Samba le faisait. Il existe divers projets récents le traitant ; dmix le fait à peine, mais essayez JACK, NAS, Pulseaudio.

Pour le tuner TV, essayez samba, mais attendez-vous à un échec. Au lieu d'essayer de partager le nœud du périphérique vidéo, vous feriez mieux d'essayer de partager le périphérique USB ; en particulier, le projet "USB Wireless" a des implémentations sur Linux qui peuvent gérer l'encapsulation sur Ethernet. Ou USBIP. Le partage du nœud du périphérique est beaucoup plus difficile.

Même réponse pour la webcam, à moins que vous n'essayiez de partager le flux vidéo (vlc, mplayer, ffmpeg ...)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X