Charging for wifi by the hour would be a good alternative. Give 30 minutes free with every coffee purchase, possibly dependent on price of beverage. The outlying issues are other open wifi spots that are close to the shop and people tethering their phones and just using the cafe for a spot to do work. Both of those will happen even if they "pull the plug".