我正在尝试让 epson v39 扫描仪在 NixOS 下运行。
我按照以下说明进行操作这页面,它基本上告诉您将以下内容添加到configuration.nix:
hardware.sane.enable = true;
# nixpkgs.config.sane.snapscanFirmware = /firmware/esfw41.bin;
nixpkgs.config.packageOverrides = pkgs: {
xsaneGimp = xsane.override { gimpSupport = true; };
};
我注释掉了固件部分,因为我不知道在哪里为我的扫描仪获取这样的“斑点”。
无论如何。重建工程正在进行中。在命令行中尝试时sane-find-scanner
,看起来好像检测到扫描仪:
[...]
found USB scanner (vendor=0x04b8 [EPSON], product=0x013d [Epson Perfection V39]) at libusb:003:005
[...]
但是,当尝试以 root 身份使用时scanimage
,我得到以下示例:
bash-4.3# scanimage -L
[bjnp] create_broadcast_socket: ERROR - bind socket to local address failed - Cannot assign requested address
注意:在所有步骤中,我都没有看到设备上有任何活动(灯等)。
答案1
我管理 Epson Perfection 1270 的工作方式如下:
- 导入模块中提到的https://github.com/NixOS/nixpkgs/issues/17411
cat ${builtins.toFile "" (c.value + "\n")} >>"$f"
将该模块中的行替换为cat ${builtins.toFile "" (c.value + "\n")} >"$f"
- 添加
hardware.sane.enable = true; hardware.sane.extraConfig.snapscan = '' # Epson Perfection 1270 firmware /path/to/firmware/ESFW3E.bin # in your case # usb 0x04b8 0x013d usb 0x04b8 0x0120 ''; hardware.sane.snapshot = true;
就是这样。固件是必须的,是从互联网上下载的。