iOS 8.0 and excessive ‘Documents & Sync’ over LTE

“Verizon Msg: You’ve used about 50% of your 3GB data plan…”

I received this warning only 2 days before my data plan started over. I thought nothing about it at the time. Then, a few days later, after the start of the billing cycle, I got:

“Verizon Msg: You’ve used about 50% of your 3GB data plan…”

That didn’t seem right. A Gig and a half in about 20 days?! I hadn’t used any streaming service lately – especially over LTE. But, I was able to add another Gig to my plan for free, so I thought nothing of it. But, a week later, after the start of another billing cycle:

“Verizon Msg: You’ve used about 75% of your 4GB data plan”

No! This will not stand! I delved into the Cellular settings in the Settings app and found that ‘Documents and Sync’ was using way too much data – over LTE even when I was using Wifi! I called Apple and started a ticket. But, that takes time for them to come up with a solution. So, I started to document and troubleshoot. I disabled iCloud settings and found that nothing short of disabling iCloud on the device would still cause ‘data bleeding’ as I called it.

I could see it use a Meg a minute!
I could see it use a Meg a minute!

I surmised that something was wrong with some basic sync between my other iCloud-enabled devices – even over LTE – with them on the same Wifi network! At some point, I came to the Keychain.app and saw the iCloud Keychain.

Screenshot 2015-04-10 12.39.58

I emptied it out. I wasn’t able to backup anything in it. After about 30 minutes to make sure it wasn’t a convenient pause, the ‘data bleeding’ was stopped!

Here’s the interesting/scary thing: I had disabled Keychain sync on the iPhone and it still tried to sync!

I hope that was a bug and not how it really works!

Now, after 4 days after my data plan has restarted, I am seeing better cellular usage – and battery usage!

This is after 4 days!
This is after 4 days!

 

Also fixed after this, I usually had old Wifi networks in my Preferred Networks list in the System Preferences app. They were now gone!

 

iCloud, the little sync service that can’t

Beta? you Bet!
iCloud Pages, Numbers, Keynote Icons

So last night I started to notice that Pages, Numbers, Keynote iCloud documents and Day One entries were not able to sync.

I tried the standard rigamarole: turning off Document syncing, restarting computers and iOS devices to no success. Right now, my Day One entries are in a zip file on my Desktop.

Then I found a log file called ubiquity-digest.log in Console.app. Here’s what I found:

there was a http error 503 while talking to iCloud reason: ubiquity account locked

I work with web servers and mail servers, so here’s my thought on what is happening: deep in Apple’s server farms, they found or a major error occurred and they have turned off the server process by disabling the user account it runs under (ubiquity) that the Macs, iOS devices talk to, to prevent damage to existing data. Granted this is just a wild-ass guess.

This could be only related to a particular server or so, otherwise I am sure it would be in the media.

I would hope they are fixing it, but Apple’s Server Status pages are, as of this post, silent.

So, Apple, I have a question: What kind of cock-up does it take to communicate with customers via your server status pages?

AirPrint to cups-pdf on Ubuntu

 

welcome_airprint2I got the 3rd generation iPad and needed to print some emails ? actually to save them as pdf. Easy enough to do on a Mac in Safari, but not an option in iOS 5.1. So, to get AirPrint working with cups-pdf on Ubuntu 10.04.4 LTS.

Avahi

Prior to this, I used airprint-generate.py to get AirPrint working with a regular printer. I manually duplicated the avahi service file for the cups-pdf printer from the regular printer created with the script. I imagine I could have used it again to create a avahi service file for cups-pdf.

/etc/avahi/services/AirPrint-PDF.service
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
 <name replace-wildcards="yes">AirPrint PDF @ server.local</name>
 <service>
 <type>_ipp._tcp</type>
 <subtype>_universal._sub._ipp._tcp</subtype>
 <port>631</port>
 <txt-record>txtvers=1</txt-record>
 <txt-record>qtotal=1</txt-record>
 <txt-record>Transparent=T</txt-record>
 <txt-record>URF=none</txt-record>
 <txt-record>rp=printers/PDF</txt-record>
 <txt-record>note=AirPrint</txt-record>
 <txt-record>product=(GPL Ghostscript)</txt-record>
 <txt-record>printer-state=3</txt-record>
 <txt-record>printer-type=0x80901c</txt-record>
 <txt-record>pdl=application/octet-stream,application/pdf,application/postscript,image/gif,image/jpeg,image/png,image/tiff,text/html,text/plain,application/openofficeps,application/vnd.cups-banner,application/vnd.cups-pdf,application/vnd.cups-postscript</txt-record>
 </service>
</service-group>

Of course, the key entry here, is the cups path to to printer:
<txt-record>rp=printers/PDF</txt-record>

I suppose it could be a path to a different cups server.

Cups-pdf

If not installed, install it on Ubuntu with:

apt-get install cups-pdf

Then, in cd /var/spool/cups-pdf/ we will have to make a link to your home directory. In this tutorial, I am using Dropbox to sync the generated pdfs. So, I created a link to a folder in my Dropbox folder for anonymous pdf files.
ls -la
total 16
drwxr-xr-x 4 root root 4096 2012-03-17 00:48 .
drwxr-xr-x 9 root root 4096 2012-03-17 00:15 ..
lrwxrwxrwx 1 root root 27 2012-03-17 00:38 ANONYMOUS -> /home/<user>/Dropbox/Docs/PDF
drwxrwxrwt 2 root lpadmin 4096 2012-03-17 00:46 ANONYMOUS-orig
drwxr-x--x 2 root lpadmin 4096 2012-03-17 10:32 SPOOL

Also, we need to change some settings in /etc/cups/cups-pdf.conf. Since this server is only for me, I don’t really have to worry about others, so I change the user output destination.
Out ${HOME}/Dropbox/Docs/PDF

I was also forced to change the AnonUser to my own account. Obviously, I would have liked to not have done this, but I had to, to get it to work.
AnonUser <youraccount>

Apparmor

I also had to change apparmor a bit as it wasn’t allowing cups to write files in my user directory.

/etc/apparmor.d/usr.sbin.cupsd

Find the lines with “{HOME}” and “PDF” in them and change to match the desired destination:
@{HOME}/Dropbox/Docs/PDF/ rw,
 @{HOME}/Dropbox/Docs/PDF/* rw,

Once that is done, restart apparmor, cups, and avahi. Log files for cups-pdf are at /var/log/cups/cups-pdf_log.

If you get a error like

[ERROR] failed to set file mode for PDF file (non fatal) (<path>/Test_Page.pdf)

Either you have filesystems permissions or app armor is causing problems.

UPDATE: See http://sysblog.sund.org/2012/10/ios-6-and-airprint-on-ubuntu/