Saturday, January 9, 2021

How to Install Sketchup 2017 Make in Linux

Bottom Line Up Front:  This post provides a how-to install SketchUp Make 2017 in Linux using Wine.  The result is fully function with everything I tested, including the "sketchup-webhelper.exe" program.  Installation is time consuming, but woth it. 



Background:  Recently, due to COVID, I have found myself down the YouTube rabbit hole and interested in traditional hand-tool woodworking.  It is interesting.  A common tool people use is Sketchup to create to scale 3-d models for their projects.  I was disappointed to learn that it does not have a Linux version and there is no TRUE alternative to Sketchup in Linux.  I tried an alternative first then gave up and tried sketchup after a quick YouTube tutorial to get me over the short learning curve for basic usage.  I decided that Sketchup was fantastic and worth using.

The options I had were:

1.  Use a different program.  The closest native program was FreeCAD; however, the learning curve is quite steep.  I already said it was not intuitive for me.  It does have some features that Sketchup doesn't; however, I will return to learn it if/when I need that capability.

2.  Boot into Windows to install / run there.  That is OK, but my primary useage and programs are in Linux, so it is a bit inconvenient to do that.  Still, my dual boot session does have it installed.

3.  The Web version of SketchUp worked fine; however, once the trial period expires, the functionality is more limited than the SketchUp Make 2017 free version.  I also did not see myself using Sketchup enough to justify a subscription.

4.  Try using WINE to install and run SketchUp Make 2017.  WINE works and I do keep it installed on my computer.  Heck, I use it for some of my older windows programs and games but not everything works flawlessly in Wine.  For that reason, I try to stick with native Linux software.  

Given the choices I had, I opted to try WINE.  The project keeps improving and getting better all the time and programs that used to fail suddenly start working sometimes.  

My initial search for using Sketchup Make under Wine looked promising.  Some posts said it was garbage (people to try the standard install and quit if the installation software fails).  Some posts said it installed but some items didn't work.  I did fine one that  said it worked flawlessly.  I set out to install SketchUp Make 2017 and it was a tough start.  I had errors from the start trying to get it installed and I spent hours upon hours between my primary computer and a second computer.  I was successful and everything works in my installation with minor exceptions.  Here is a screen shot of Sketchup in Linux running with the 3D Warehouse and Plugin Warehouse visibly running.



This BLOG post is to share my success installing the program in an effort to make it less tedious for you, as it is a tedious process to begin with.  I did post my results at WINEhq.org; however, it won't be long before my notes are hidden and people don't look at my post.  Hopefully Google will pick this post up in their search engine.

When finished, what works?:

Everything I have tested.  That includes the SketchUp Warehouse part of the program ( sketchup-webhelper.exe ). .  A quick list of most items I have tested: 

  • Installation
  • Drawing Tools
  • Plug-ins (Most... although the plugin from Sketucation website did not work... but plugins from there were downloaded and installed (Fredo6 series primarily).
  • Opening
  • Saving
  • Editing
Installation:

Up front, this process takes a while, but it is worth it.  If you try and run the installation file, it will fail on its own.  It took me well over 8 hours and a few different attempts to get a near-flawless installation for the software.  The following steps should work.  I am using Ubuntu Linux 20.04 LTS and my instructions are based on that.  If you are using a different distribution your packages may be named different.

1.  Preparation:

Before you install anything, I recommend you head over to www.sketchup.com and click login.  Create a Tremble account.  That is necessary because Sketchup Make 2017 no longer supports other password validation options. 


Getting started you should have installed Winetricks and Wine (32 & 64 bit versions).  The specific software versions I used for your reference.  These were all installed from my default Linux repository.

- Linux:  Ubuntu 20.04 LTS

- Wine 5.0.3 (from repository)

- Wine Tricks:  0.0+20200412-1 (from repository)

*  For your information, my initial attempt was using "Play On Linux."  Play on Linux did not work easily and when I did get it installed using Play on Linux, the installation had issues as many other reports indicated.

NOTE:  

For a couple steps, WineTricks did not re-open so you may need to 'restart' WineTricks... but give it a little while as some steps run in background take a few minutes.

You will get a lot of warnings because it is a 64 bit arch... but those are OK.  WineTricks is just telling you (excessively) that things may not work as expected in 64-bit software.

Wednesday, January 6, 2021

Linux Web Applications

 Bottom Line:  This gives a quick intro to Web Application Manager for Linux and a link to where I have stored a .deb file for easy installation. 

Short post, but wanted to give a shout out to the programmers of the ICE SSB and Web Applications application for Linux.   The Web Application app that was just released for Linux Mint works great in Ubuntu also.  This Application has fundamentally changed my work flow for the better.  

Previously, I would have a tone of apps in tabs in my browser... but switching between was always frustrating because I had to first go to browser, find the right window, then find the right tab.  Pined tabs helped, but splitting a workflow between a task bar and a browser tab bar is frankly not helpful.

The Web Application version released for Linux Mint builds on the Linux PeppermintOS ICE SSB app by resolving my largest issue with webapps to date:  the icons all looked the same.  The Web Application Manager app has solved that as well as expanded which browsers are supported, assigning webapp to menu category, making isolated sessions, etc.  I love it!  Here is a screen shot of several web applications (using Chromium as isolated back end because it has window decorations).  Notice they all have a icon in the task bar.




Here is a link for a deb of the 1.1.0 version of the Web Application app.  It installs on Ubuntu 20.10. I posted the file I made to one of my OLD projects on Sourceforge so you know where the link will take you.

There are several excellent articles out there that give a good run down on this application.   

I have been using for a bit and it resolves some big issues with the ICE SSB.  Most notably was that he Ice SSB gave the same ICON to all web applications, which wasn't helpful.  This one does a great job of taking and maintaining app specific icons.

It supports several browsers.  I find I like Chromium / Chrome the best simply because it provides a titlebar.  Firefox does not which makes naviation / movement / resize a little less intitive.  Still nice if you remember to use the SUPER key with left, center, right clicks/drags to move, resize and pull up window menu.  I do prefer firefox for an app I want to use full screen with no loss of space to titlebar / tabs such as youtube, youtube music, etc...


Enjoy.

Friday, February 22, 2019

Linux On Dex

Yes! Linux On Dex

Being a non-traditional (not Microsoft or Apple) road warrior is very difficult when you try to rely on Android and your main computer Operating System is Linux.  It can be very frustrating indeed.  Frankly, at times, I have just wanted to throw up my hands and retreat to a Microsoft Surface Table and windows.  Yes, Windows Subsystem for Linux (WSL) is nice and I have played with it some and even integrate an xServer to get graphical apps running and frankly, most of the open source solutions I use do have Windows (or Mac) support -- but I really like the workflow I have become accustomed to in Linux.  Now, I hear you, just take your laptop with you, but I would like to travel light!  There are no pure road-warrior based products out there.  I did have high hopes for Ubuntu's mobile and convergence, but that has fallen by the wayside.

Enter Linux on Dex (LoD / LOD).  I have been and remain a Galaxy Note fan since version 1 of the Note.  I have a Galaxy Note Tablet and until a week ago, a Galaxy Note 5 phone.  I was pleased to hear of the LOD being developed and really longed to try out the feature when it was released last year.  A week ago, I made the plunge to the Note 9 and also got a DEX pad.  The Galaxy just got so much bigger for me because of increased capability and fairly good "convergence".

Samsung Galaxy Devices (S8 / Note 8 and up) and DEX

The concept is that your phone is a phone until it is plugged into a DEX station, pad, compatible usb-c 3.1 dock, or usb-c/HDMI cable.  When that occurs, your TV, Monitor, or other display device can change to an Android-based, desktop environment that is quite capable when used with a keyboard and input device (mouse, touchpad).  It is MUCH more than attaching a keyboard to an Android phone/tablet and mirroring to the screen.

In the version I am using, I am able to use my phone as a touchpad (multi-touch) or as an extended Screen (partly like KVM sharing because you can't drag apps between displays -- presently).  This is a nice feature because now you can have your phone beside the computer and use it to view additional information!

DEXter meets Linux (LOD)

The current BETA for LOD is closed and they are hopefully working on making updates and changes.  There is not a large community out there that post regarding LOD and my experience is that LOD is not a full Linux so a general Linux solution may not work in LOD. 

My initial experience with LOD is positive though and I believe it is a potential solution for a Linux Light, Mobile, Road Warrior.

Future Posts

In the future, I will post more about my experience with LOD, some issues, solutions (hopefully), and some best-practices that work for me.

Tuesday, November 10, 2015

Linux and O2 Micro, Inc. OZ711EC1 SmartCard, DoD CAC Support

Preface:  This is a long post, but I wanted to give a lot of detail.  

I used LMDE 1, 32bit, non-pae kernel 3.11.

I upgraded LMDE from 1 to 2; however, I was never able to get the pcsc_scan to recognize the scanner (amid other issues that combined led to just surrendering), so I reinstalled LMDE 1.  I may have other things going on with my system (it is over 10-years old), so give the instructions a try!

I hope you find it useful.  Leave me comments accordingly...  

POST:
Wow, this has been an adventure.  I have tried on multiple occasions to get the smartcard reader working; however, I have given up many times before.  Periodically, I will try it again because I hope that new Linux kernels include the appropriate drivers or others have prepared to required drivers.  Well, I almost waited too long, as since around 2012, Linux has changed pcmcia software which has impacted some drivers.  I am writing this in November 2015 for time reference.

I am currently using Linux Mint Debian Edition 1 (32-bit) on version 8 update package.  Kernel 3.11.  I ended up having to use this version because the this computer is old enough that all the newer distros have pae compiled in by default which doesn't work on this computer.  The LMDE version didn't and works wonderfully.  I recommend if you have older hardware such as I am using (Acer C300 Travelmate Tablet).

Ok, now on to the meat of the post.  What I had to do to get the built in O2 Micro, Inc. OZ711EC1 SmartCardBus Controller to work properly.  I hope this helps anyone still struggling and saves them the difficulty of many hours (for me about 24-hours) of googling and reading posts to find a solution.  See the bottom of this post for additional links that lead me to the right answers.

1.  Install from repository the following CAC/SmartCard packages (copy / paste into terminal)

sudo apt-get install pcscd libpcsclite-dev libpcsclite1 pcsc-tools coolkey pcmciautils

2.  Install the following to compile the drivers for the card reader (copy/paste into terminal)

sudo apt-get install build-essential

3.  Install the linux kernel headers for your distro.  I'm unsure of a command line for this, so go to your package manager (I use synaptic) and navigate to:

linux-headers-
[Note:  This should match the linux-image-]

4.  Confirm Hardware:  Restart your computer.  After a reboot and logging in we want to check a few things and also convey what you should see.  I referenced this page; however, the driver's he references no longer work:  http://ubuntuforums.org/showthread.php?t=1505742


4A.  Ensure hardware is the Same as this post.  The information here should be may not work if you have different hardware.  From command prompt/terminal (CLI) run:

lspci

You should see this in the list:
02:01.0 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)
02:01.1 CardBus bridge: O2 Micro, Inc. OZ711EC1 SmartCardBus Controller (rev 20)


4B.  Check to see that 'pcscd' is running.  From  CLI run:
sudo service pcscd status

You should see this if all is ok:
[ ok ] pcscd is running.

IF: you are running "sysvint" instead of "systemd", recommend you follow the directions at the link for troubleshooting below now.  If you choose not to follow it now, and you later find that the pcmcia card driver is bound to the device and pcscd is running BUT pcsc_scan doesn't detect the card reader, then remember to come back to this section.

Troubleshooting:
- If it isn't running OR it is running and not recognizing your device, I recommend you follow the procedures at the following page:
- http://ludovicrousseau.blogspot.kr/2010/12/configuring-your-system-for-pcscd-auto.html

- If it is not starting automatically and you are running a systemd system, the the instructions at this link may be helpful:
- http://ludovicrousseau.blogspot.fr/2011/11/pcscd-auto-start-using-systemd.html

- This link may also provide some assistance about auto start for pcscd and the UDEV file (see 5D below):
- http://ludovicrousseau.blogspot.kr/2010/09/pcscd-auto-start.html

4C.  Check to see if 'PCMCIA' recognizes hardware.  From CLI run:
pccardctl info

Note, on my system, I had to run the following:
/sbin/pccardctl info

You should see this if all is ok:
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANFID=0000,0000
FUNCID=255
PRODID_1="O2Micro"
PRODID_2="SmartCardBus Reader"
PRODID_3="V1.0"
PRODID_4=""
MANFID=ffff,0001
FUNCID=255
  


Troubleshooting: I am unsure how to trouble shoot this...  mine was just working.

4D.  Check to see if a driver is attached to hardware:  You can also check from CLI:
/sbin/pccardctl status

You will likely see (Bolded part means no driver for device in socket 1):
Socket 0:
no card
Socket 1:
5.0V 

16-bit 
PC Card
Subdevice 0 (function 0) [unbound]


If the last line looks like the following, you can skip step 5 - building drivers. Bolded part indicates the card reader is bound to a driver.
Subdevice 0 (function 0) bound to driver "ozscrlx_cs"

Troubleshooting:  If both socket 0 and socket 1 have no card, then you can try mounting the card/device with the following command:
examplesudo /sbin/pccardctl insert
sudo /sbin/pccardctl insert 1

Note:  The following command will disable (eject) the device from the bus:
sudo /sbin/pccardctl eject 1


4E.  Continuing after verifying hardware:  Now that we have verified the hardware is present and recognized by the system, we will transition to the 5th step to get and compile the driver.  If you haven't been able to confirm the hardware, the driver will no do you any good until you get the hardware resolved.

5.   Building and Installing the Drivers:  This is based upon my recollection of what I did to build and install the drivers.

5A.  Get the source files:  Download the latest driver from the following link.  Extract the files.

Version I utilized:
http://download.gna.org/o2scr/o2scr-1.0.8.tar.bz2

All versions:
http://download.gna.org/o2scr/

5B.  Build and Install:  Navigate to the extracted folder.  Commands that follow assume you are at a command line / terminal in the directory where you extracted the contents of the tar.bz2 file.

cd o2scr
sudo make install
Note:  The previous command should have made and installed the driver (o2scr.ko), but it fails to do this.  You need to manually enter the directory for the driver and build from there.

cd src/ozscrlx/make
sudo make install

Hopefully these all went smoothly and without error.  If so, lets do some verification.

Troubleshooting:  If there was a problem with compiling the drivers, then you will need to trouble shoot the issue.  One possible solution if you are certain you have the linux headers and build essentials installed could be copying the header files from pcsd-lite to /usr/lib/PCSD.  I did this when I was trying the other driver out (broken driver) and did not remove them when I found the driver from gna.org.

5C.  Check installation:

* Check to see that files were installed in the correct locations and that the source build actually completed without error.  First, the device driver.


sudo updatedb
sudo locate o2scr.ko

> You should see location similar to following which shows it was installed to the kernel modules section  (NOTE:  the bolded portion will likely be different based on your kernel):
/lib/modules/3.11-2-486/extra/o2scr.ko

* Check the static linked object file was compiled.

sudo locate lib_OZSCR.so

> You should see the following which shows it was installed to the kernel modules section:
/usr/local/o2micro/lib_OZSCR.so

>> If you don't find the .so file located as stated above, recompile and install from the source:
cd o2scr/src/ozctapi
make
sudo make install

* IMPORTANT:  Once confirmed modules are installed we need to make the kernel aware of it.  Use the following command:

sudo depmod -a
* Check to ensure the reader configuration file for the card reader was installed:

cat /etc/reader.conf.d/o2scr.conf
> output:
# Configuration file for pcsc-lite
#
# This file has to be configured for serial and PCMCIA readers only.
# normal USB readers shall _not_ be configured here!
#
# David Corcoran

FRIENDLYNAME            "O2Micro SmartCardBus Reader"
DEVICENAME              /dev/o2scr0
LIBPATH                 /usr/local/o2micro/lib_OZSCR.so
CHANNELID               0xF10000


# End of file


Troubleshooting:  If the cat didn't produce the output from above, then create the file and paste the output from above into the file with the following commands from CLI:

sudo touch /etc/reader.conf.d/o2scr.conf
sudo gedit /etc/reader.conf.d/o2scr.conf

* Paste the following into the o2scr.conf, save, and close:
# Configuration file for pcsc-lite
#
# This file has to be configured for serial and PCMCIA readers only.
# normal USB readers shall _not_ be configured here!
#
# David Corcoran

FRIENDLYNAME            "O2Micro SmartCardBus Reader"
DEVICENAME              /dev/o2scr0
LIBPATH                 /usr/local/o2micro/lib_OZSCR.so
CHANNELID               0xF10000

# End of file


5D.  Create UDEV rule.  I believe this is required.  From CLI:

sudo touch /etc/udev/rules.d/99-pcscd.rules
sudo gedit /etc/udev/rules.d/99-pcscd.rules

* Paste the following into the 99-pcscd.rules, save, and close (Note: if you are running pcscd as root for group instead of 'group', you may need to change the "GROUP="pcscd" to "root"):

ACTION!="add", GOTO="pcscd_rules_end"
KERNEL=="o2scr0", SUBSYSTEM=="ozscrlx", GROUP="pcscd"
LABEL="pcscd_rules_end"

# End of File

6.  Reboot and Check for Hardware/Driver Recognition:

6A.  Reboot! :)

6B.  Repeat steps above in step 4:

* 4B:  verify that pcscd is still running.

Troubleshooting:  If it is not running.  You can try stopping the daemon and running from the CLI with the following commands.  You may want to leave it open and running as we do other steps in a separate window.

sudo service pcscd stop
sudo /usr/sbin/pcscd --foreground --debug

*4D.  Check to see if a driver is attached to hardware:  You can also check from CLI:
/sbin/pccardctl status

You should see (Bolded part) that the driver is attached to the hardware (bound):
Socket 0:
no card
Socket 1:
5.0V 

16-bit 
PC Card
Subdevice 0 (function 0) bound to driver "ozscrlx_cs"


Troubleshooting:  If not bound, you should try ejecting and inserting the card.

* Eject Card
sudo /sbin/pccardctl eject 1
sudo /sbin/pccardctl status
* Validate Ejected

* Insert Card 
sudo /sbin/pccardctl insert 1
sudo /sbin/pccardctl status 
 * Validate inserted and hopefully, that it is now bound.

* If not bound at this point, I'm unsure what further to troubleshoot besides restarting and validating the steps to this point.  Could be an issue with the compilation, but our previous steps should have identified this issue alread.  Resort to google.  Good luck. :(

6C.  If bound, lets ensure a device was created.  Make note of the ownership and group.  root root may be ok as long as it is created. Note, my example shows a group of pcscd, which i did by following steps to ensure the pcscd daemon ran at startup (my issue was the driver (.ko file) was not compiled or installed and without that file AND with the reader.conf file created, pcscd will not start.  If issues persist after all instructions, come back here and follow this link referenced:  http://ludovicrousseau.blogspot.kr/2010/12/configuring-your-system-for-pcscd-auto.html

* from CLI:
ls -l /dev/o2scr0

* Expected output:
crw------- 1 root root 248, 0 Nov 15 20:39 /dev/o2scr0 

OR you may see the following if you have taken the course of creating a group for pcscd. 

crw-rw---- 1 root pcscd 248, 0 Nov 10 20:25 o2scr0

6D.  Check that smartcard and reader is recognized.  From CLI, run the following command.  It should indicated the reader is found and show when a card is inserted and removed.

pcsc_scan

You should see similar output:

* Started (without card inserted):
 PC/SC device scanner
V 1.4.21 (c) 2001-2011, Ludovic Rousseau
Compiled with PC/SC lite version: 1.8.7
Using reader plug'n play mechanism
Scanning present readers...
0: O2Micro SmartCardBus Reader 00 00

Tue Nov 10 22:55:06 2015
Reader 0: O2Micro SmartCardBus Reader 00 00
  Card state: Card removed,


* Card Inserted:
 Tue Nov 10 22:56:29 2015
Reader 0: O2Micro SmartCardBus Reader 00 00
  Card state: Card inserted, Shared Mode,
  ATR: 3B DB 96 00 80 1F 03 00 31 C0 64 B0 F3 10 00 07 90 00 80

ATR: 3B DB 96 00 80 1F 03 00 31 C0 64 B0 F3 10 00 07 90 00 80
+ TS = 3B --> Direct Convention
+ T0 = DB, Y(1): 1101, K: 11 (historical bytes)
  TA(1) = 96 --> Fi=512, Di=32, 16 cycles/ETU
    250000 bits/s at 4 MHz, fMax for Fi = 5 MHz => 312500 bits/s
  TC(1) = 00 --> Extra guard time: 0
  TD(1) = 80 --> Y(i+1) = 1000, Protocol T = 0
-----
  TD(2) = 1F --> Y(i+1) = 0001, Protocol T = 15 - Global interface bytes following
-----
  TA(3) = 03 --> Clock stop: not supported - Class accepted by the card: (3G) A 5V B 3V
+ Historical bytes: 00 31 C0 64 B0 F3 10 00 07 90 00
  Category indicator byte: 00 (compact TLV data object)
    Tag: 3, len: 1 (card service data byte)
      Card service data byte: C0
        - Application selection: by full DF name
        - Application selection: by partial DF name
        - EF.DIR and EF.ATR access services: by GET RECORD(s) command
        - Card with MF
    Tag: 6, len: 4 (pre-issuing data)
      Data: B0 F3 10 00
    Mandatory status indicator (3 last bytes)
      LCS (life card cycle): 07 (Operational state (activated))
      SW: 9000 (Normal processing.)
+ TCK = 80 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B DB 96 00 80 1F 03 00 31 C0 64 B0 F3 10 00 07 90 00 80
    DoD CAC, Oberthur ID One 128 v5.5 Dual


* Card Removed:
 Tue Nov 10 22:57:53 2015
Reader 0: O2Micro SmartCardBus Reader 00 00
  Card state: Card removed,


I hope at this point you have seen the above feedback.  If you have... success so far and skip down to configuring firefox for use with your cac card.
(Note: Using exactly the same instructions, I was unable to get the pcsc_scan to see my reader despite the driver being bound to the card reader and pcscd running.... I dropped back to LMDE 1)

Troubleshooting:  At this step, you should see all of the above, but if you don't, then you have a problem.

* First try rebooting.

* Second if you find that the pcmcia card driver is bound to the device and pcscd is running but pcsc_scan doesn't detect the card reader, then try the trouble shooting is 4B (above).  It may be a problem with groups for the device driver (pcscd should be in group pcscd as well as several other locations).

* Finally you may also, try adding the following to the GRUB boot arguments before the 'quiet' argument (press e from grub menu):

pci=assign-busses,routeirq
or
pci=assign-busses

I tried these when my card was not immediately recognized.  My driver started working properly during a time I had booted with the first option added.  HOWEVER, from not re-adding it, I was able to reboot and still have my reader working properly without the additional argument.

7.  Configuring Firefox to work with a CAC Reader.

7A.  Configure:  This link provides instructions for getting and installing DOD Root Certificates and configuring firefox to use the CAC Card cardreader hardware. If you are not a DOD user and using another service, then install what you need for your required certificates.

Note that you will need to browse to the location for the PKCI device at the following location: /usr/lib/pkcs11/libcoolkeypk11.so.  What is depicted in the instructions is a different location than it was on my system.  If you don't find it at the location specified, run the following command:
sudo locate libcoolkeypk11.so

Link to instructions:
http://iase.disa.mil/pki-pke/getting_started/Pages/linux-firefox.aspx


7B.  Test.  Test your CAC configuration.  You may need to restart firefox for good measure before testing.  Also, if you are overseas, you may need to use a VPN to establish a secure connection due to certain IP addresses being blocked.  I successfully tested with AKO and my enterprise web mail.

If you are in need of a good VPN, then please consider getting it from TorGuard and using my affiliate referral link for good measure:  https://torguard.net/aff.php?aff=582


7C.  Congratulations.  You should be all set now.  I hope you found this guide useful and with enough detail to be successful in a fraction of the time it took me to research it.  Leave me some comments below... thanks... corrections... and issues.

8.  Key Reference Links (with a lot of useless links omitted):

Base thread of information that got me going this time:
> http://ubuntuforums.org/showthread.php?t=1505742

Another page with troubleshooting information and links:
> https://bugs.launchpad.net/ubuntu/+source/pcsc-lite/+bug/1061947

One of the PCSCD authors pages talking about configuration:
> http://ludovicrousseau.blogspot.fr/2011/11/pcscd-auto-start-using-systemd.html
> http://ludovicrousseau.blogspot.kr/2010/12/configuring-your-system-for-pcscd-auto.html

Launchpad Error Discussion for o2micro card:
> https://bugs.launchpad.net/ubuntu/+source/pcsc-lite/+bug/74724

DRIVER source code:
> http://download.gna.org/o2scr/

9.  Edit notes:
2015-11-15:
-  Added step to run depmod -a to update the list of modules.  I believe this is an important part that I forgot to capture.  Regardless, running the command will do no harm to your system.

Saturday, June 27, 2009

Linux vs Windows | Google vs Bing

Today I was reading the technology news and one of the articles I read really made me think about the very uphill battle that Linux has on the desktop.

I am a Linux user and am constantly promoting Linux to users that I feel can be fully satisfied by Linux's present desktop state. I don't recommend for people that have let themselves get locked in with iTunes and DRM, nor do I recommend for people that heavily depend upon robust audio or video editing. Still, I use Linux and am very proud of that fact. I believe in the ideas behind OSS and the importance of CrossPlatform software. Well, I digress... ;)

Anyway, the article I was reading was about acceptance of Bing as a search engine. One particular point gave me pause for thought: "All of [the search users surveyed (12)] were also asked to rate Bing on certain criteria, including its search performance and graphics, and Bing won out. But those remaining Google users still didn't want to switch. Comfort was the main factor."

This really illustrates JUST how resistant people are to change from what they are familiar with and a very real reason people are reluctant to change. Change was easier for me because I was already using many open source programs... so my applications stayed the same for the most part. That spells for a measure of familiarness in Linux.

No, I am not a Bing user or supporter. I am quite happy with Google and will remain with Google because it meets my needs, is fast, and I don't have a shit-load of advertisement. It is clean and simple in design. This is exactly one thing that attracts me to Linux. It is practically devoid of advertisement -- unlike the Windows world. Won't always be the same as Linux gains popularity and more "traditional" apps such as Yahoo Messenger that always incorporate adds, but there will always be other options. :)

A few idle thoughts:

a. Perhaps open-source applications on Win/Mac are a means to transition for Linux. Sure, it eased my change to Linux, but the other offerings aren't there to articulate "why should I change". For me, I knew why, but for the common user... why should I? What would be the "killer" reason to move people over?

b. Resistance to move to Linux: From my perspective in trying to move people over, there are several reasons and they almost always are applications. Top of the list is a true, 100% compatible office solution OR lack of MS Office. Most of the time, OOo works great for me, but Presentations give me the biggest problem and some advanced formating in word documents. I have yet to encounter macros, but that would also be a problem. Address this single application and you overcome one huge hurdle for acceptance by the general populace. Then there are other applications: video editors, audio editors, and Photoshop to name a few areas/apps. This is why my son wont move over (Audio Editors that Work) and my Dad won't consider (Video Editors). My wife is extremely dependent on MS Office and the installation under Wine didn't fully win her over.

c. Interface: Well, I love my Gnome. It is configured the way I like and it works great. I miss it tremendously when I am at work and have to use Windows. Still, a distro that emulated XP's interface and control pannel could present a great way to move people over and bridge the familiarity gap. This would have to be coupled with working basic functions of the OS and working a lot more like windows. Not something I would like, but something that would help bridge the gap. A thought about Linux and for those that would "flame" me for this part of my post. When I first changed to Linux, I preferred KDE 3.5 and disliked GNOME because KDE 3.5 was much more familiar to me as a windows user. The wonderful thing about Linux is the ability to install multiple Desktop Environments and log into any of them and still access your files and programs and configurations. This feature gave me an ability to try something different with little pain. Before I knew it, I was a GNOME user and very happy. So, I think if the Linux community REALLY WANTS wider adoption, working for a transition environment will bring people over much easier.

Well, it is an uphill battle. Linux is moving forward like a glacier... steadily and unstoppable.

I am proud to be a linux user and continue to evangilize others to its grand benefits. Benefits that I believe greatly overcome its shortcomings. Just have to get people to break out of their comfort zone so they can realize that they can live a better digital life. :)

Sunday, June 21, 2009

New Version of AcerHK GUI (v. 0.5)

New Version of AcerHK GUI (v. 0.5)

Re: AcerHK GUI -- GUI for users of the 'acerhk' driver to control wireless/bluetooth


Version 0.5 of the AcerHK GUI is now released and available for download on SourceForge!



My main thread here that I post updates is located at the following URL:


http://ubuntuforums.org/showthread.php?t=1059704



I am open to suggestions on what additional functionality I should work into my development plan. I'm not a programmer by trade and this is my first real program... which I happen to be writing as I am learning!

Saturday, March 7, 2009

Acerhk, Ubuntu, and acerhkgui


In my previous blog, I posted about my experiences with programming. In this post I'll post a bit more about my experience and motivation to program. For those readers -- and I hope there are readers -- that may be interested in only a portion of this post, the sections in order of presentation are:
  • Ubuntu
  • Python
  • Acer Hot Key (acerhk) and AcerHK GUI (acerhkgui)
Ubuntu:
Ubuntu has been my number one choice for Linux distribution for quite some time. In my next post, I will post with regard to why I choose Linux and why I finally settled on Ubuntu Linux as my choice for a distribution. For the purpose of this post, discussion of Ubuntu is limited to how it has motivated me to dip my toes back into programming.

Ubuntu is a great distribution and is increasingly becoming the face of Linux for the masses. It has had the distinct advantage of having a benefactor, Mark Shuttleworth, who believes in the value of benefits from Open Source Software (OSS). While I could blog on and on about who he is and what he has done, I am posting a link to a interview with Mark Shuttleworth from a few years ago, so when you hear "Ubunut is 2 years old" in the video, it is now several years on and not even the Ubuntu I remember.

A huge criticism of Linux in general is that it is "too hard" for the average user. That Linux still requires the user to drop to the command prompt --the black screen with white letters where you have to remember what to type, get your spelling correct, and control variations of what happens with additional input on the same line and possibly never see a graphic result of what you have done. The abstract nature of this is frightening for many people. For other people, they just aren't interested in that aspect of a computer -- "Hey, just show me where to point and click." Well, I am not frightened of the command prompt and have no problem diving in to that. I do, however, tend to agree that if the system requires certain tasks to be performed from the command prompt, it is still not ripe for the masses. Well, for the vast, vast, majority of tasks in Ubuntu, the command prompt never has to be seen. Mater of fact, it is typically the "early power user" and not the common user that finds they need to drop to the command prompt and are lost. I say this because the average user will be able to install and start Ubuntu and do all of their ordinary tasks and programs from the GUI and require no complex configuration at the command prompt level. But, if you find yourself there, don't worry, it isn't that difficult and you can find information and help in the Ubuntu Forums as well as other places. I recommend the Ubuntu Forums because of the friendliness of the users and the vast amounts of knowledge able to be obtained from there.

The term Power User is a person who pushes the limits of what they do with a computer because they are always asking "What if... " or "Can I..." or "I'd like to..." or "I bet I can..." For the most part, they are somewhere between a normal user and a system programmer. For me, an early power user is a person who has just started to get off the beaten path of a typical computer user who turns on a computer, runs a few games (possibly), uses a few standard applications, email and internet.

I do agree that for Linux to become mainstream for the average user, the common tasks and configuration options should NOT require going to the command prompt. That is critical because most users don't want to see a command prompt. Early on, I found that I had not choice but to drop to the command prompt if I wanted to address configuration of my computer's hardware and get it working exactly like I wanted to. I really found very little that wasn't working right out of the box, however, not everything did. For example, my initial hardware issues were with my tablet PC screen's digitizer was not recognized and that my bluetooth was not active. No, I didn't have a problem with my network card being recognized (wireless or wired).

Still, thinking where linux has come from and where it has gone on its own and without a large corporate backing. No doubt, Linux can hold its own with any of todays operating systems. People, however, feel that they because it is unfamiliar for them, it doesn't work. It does.

So, anyway, my bluetooth hardware was not comming on by default and my buttons didn't work to activate the hardware. Through internet search, I found out that if I issued a command from the command line to the acerhk driver, I could turn on the device. So I installed the device driver through the repository and then from the command line, I issued the following command:

echo "on" > /proc/driver/acerhk/blueled

That was just too much for me and I never seamed to remember it when I wanted to turn my device on. This is the type of issue that still needs to be refined in Linux; however, the vast majority of people would not have this issue.

Python
This is where Python came in. During my readings, I discovered that Python was quite a powerful programming language that was primely suited for developing Graphical User Interfaces to interact with command line programs. Basically, it serves as a shell to the command line interface. I also liked that the programming language was cross platform and widely accepted for use on Windows, Linux, Mac and others. I'll go into my discussion of cross platform in a future blog.

Anyway, Python caught my attention for the first language I really wanted to learn. So, I began to learn with a purpose of creating those GUI interfaces between users and the command line and to reduce the need to work from the command line. Goal... to help bridge the gap between Linux today and a widely accepted and used Linux.

AcerHK and AcerHK GUI (acerhk / acerhkgui)
Acer laptop computes came with hardware that was software controlled. The issue with Linux was that Acer didn't release software for the Linux platform. Frankly, I am not even sure if they offered specifications of the hardware... but anyway. AcerHK was written to enable the Linux platform to utilize the Acer hardware.

As I mentioned before, to be able to turn the hardware on and off, it requried a command line input to the driver. This isn't alltogether bad, as it can be setup once in the load scripts to always turn on the hardware; however, for me I feel that isn't the best solution given the amount of air travel these days and a need to activate / deactivate radios. Also, I don't always use my bluetooth, so I don't like the blue LED flashing at me all the time... so I turn it off.

There are a couple of links that I would recommend for users of the acer comptuers and who wonder if you are using the driver or if you need the driver. Note that not all Acer computers use the acerhk driver for the hardware. Also note that the acerhk driver does work with other laptops besides the Acer.

Acerhk and Ubuntu Update
RF (Radio) Switch Guide

The RF Swithc Guide provides a list of computer models by vendor and the solution for activating the hardware.

So, as I started learning Python, I learned enough to begin working on my first program. Yes, I know I gave it a very creative name -- "acerhkgui" (Acer Hot Key Graphical User Interface). Enough of showing my Text Colorcreativity. LOL.

The program I wrote is one that can be installed to Ubuntu or any other Linux distribution to provide a simple GUI to interface with the acerhk driver. I have included a screen shot of the program as it looks on my computer.

I have a "road map" for development of the application. Sure, it doesn't have far to go, but I can already see where I can extend the functionality of the GUI as there are a couple of other computers that utilize a very similar interface to the RF hardware.

I have published the software and it is available in Ubuntu / Debian (.deb), ReadHat/Fedora/Other (.rpm) and Generic Linux (.zip) You can access the download for the software from my SourceForge.net site.

I highly recommend that use the .deb or .rpm version if you want a painless installation. The .deb / .rpm file will provide the user with a launcher that is recognized automatically by the GNOME / LXDE / Other desktop environments and available in the menu system.

Also, the driver does not enable the wireless LED automatically. You can read my post on the Ubuntu Forums for details about getting the LED to work for the Wireless. So, where can you get it? Here: AcerHK GUI

Conclusion
Well, Linux is a very good platform for the average user as well as the advanced users. The early power user may be stumped and unless they are willing to dig and learn, they will back out to what they are familiar with. Finally, Ubuntu / Linux provide a motivation to learn and grow. As it has for me, I now have an application that I have written, use daily, and others are using. I released the software a little over a month ago and I already have over 100 downloads. It is fabulous to be able to contribute back to the open source community and bridge the gap between the common user and Linux. Finally, you can contribute by using Linux (in one form or another) because the greater the user base, the more hardware / vendor support there will be and the more users the greater the likelihood that commercial software publishers will produce native software and games for Linux.

Well, back on the road less traveled. :)