Talk:USB devices including CUPS printing, scanners, and webcams

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 01:53, 11 September 2007 by Jonli447 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Hello?

For Anyone Who's interested ... I used this article and a combination of a few other articles to get CUPS working on a LS2(mipsel). Basically the steps I followed were:

1. "Opened" the LS2 using the OpenLink instructions (http://nas-central.org/index.php?title=The_LinkStation_firmware_flasher). The only problem I had was I had a later version of the firmware than the new openlink version, so I amended the file 'linkstation_version.txt' and increased the version number to a number higher than the version I had installed. The firmware flasher then worked.

2. Downloaded and installed the latest Precompiled C development environment (http://nas-central.org/index.php?title=Precompiled_C_development_environment%2C_running_on_the_LS).

3. Downloaded and attempted to install the latest cups source from www.cups.org.

4. Ran into issues compiling cups. Root cause was the lack of a 'sort' command, so created the Busybox link using the command:

  ln -s /bin/busybox /bin/sort

I could then compile cups.

5. Configured the cupsd.conf to allow access from my local network:

 # Log general information in error_log - change "info" to "debug" for
 # troubleshooting...
 LogLevel info
 # Administrator user group...
 SystemGroup sys root
 # Only listen for connections from the local machine.
 Listen localhost:631
 Listen /var/run/cups/cups.sock
 Listen 192.168.0.6:631
 # Show shared printers on the local network.
 Browsing Off
 BrowseOrder Deny,Allow
 BrowseAllow @LOCAL
 # Default authentication type, when authentication is required...
 DefaultAuthType Basic
 # Restrict access to the server...
 <Location />
   Require valid-user
   Order Deny,Allow
   Deny From All
   Allow From 127.0.0.1
   Allow From 192.168.0.*
 </Location>
 # Restrict access to the admin pages...
 <Location /admin>
   Require valid-user
   Order Deny, Allow
   Deny From All
   Allow From 127.0.0.1
   Allow From 192.168.0.*
 </Location>
 # Restrict access to configuration files...
 <Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   Allow localhost
 </Location>
 # Set the default printer/job policies...
 <Policy default>
   # Job-related operations must be done by the owner or an adminstrator...
   <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
     Require user @OWNER @SYSTEM
     Order deny,allow
   </Limit>
   # All administration operations require an adminstrator to authenticate...
   <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
     AuthType Basic
     Require user @SYSTEM
     Order deny,allow
   </Limit>
   # Only the owner or an administrator can cancel or authenticate a job...
   <Limit Cancel-Job CUPS-Authenticate-Job>
     Require user @OWNER @SYSTEM
     Order deny,allow
   </Limit>
   <Limit All>
     Order deny,allow
   </Limit>
 </Policy>

6. I could then print from my Windows XP laptop, by following the instructions (http://nas-central.org/index.php?title=USB_devices_including_CUPS_printing%2C_scanners%2C_and_webcams) to print via HTTP.

Everything worked, but I ran into a few issues with large print jobs erroring. Eventually identified that cups was storing the spooled files in /var/spool/cups, which was too small to cope with large print jobs. I tried sym-linking it to /mnt/hda/spool/cups, but on reboot it rebuilt the /var/spool/cups directory, removing the sym-link. Eventually I figured out if I changed the cupsd.conf file to include the following 2 directives:

 RequestRoot /mnt/hda/spool/cups
 TempDir     /mnt/hda/spool/cups/tmp

Then the spooled file location used the large partition ... plenty of room for large print files.

Hope this helps someone out there. Feel free to add this text to the main article if it is useful.

Cheers the noo,

Ali Gee.