Connectivity problems with Glass - google-glass

I've created a small Glass app and am trying to help someone else side load the .apk file directly on on their Glass as part of internal testing. I had them install the Eclipse + ADT Bundle, run the SDK Manager, etc (i.e. the basic instructions from here). They verified that the Google USB driver does show up in the SDK Manager.
With the device plugged in, running "adb wait-for-device" hangs. So it doesn't appear device communication is working. The device also does not show up in DDMS in Eclipse.
They verified that USB debugging is enabled on the Glass itself under settings.
I also tried having them follow the instructions here but this also did not help. They are able to see the Glass removable storage device in windows.
Any suggestions on what else to try? I do recall that with my Glass device at one point I put it on and it asked me if I wanted to allow debugging from the computer where it was plugged in. I'm not sure if this could be a roadblock here or not but I'm also not sure how to get to that prompt.

Once you get the correct values into android_winusb.inf it works fine, see
Google Glass ADB devices doesn't find. OMAP4430 driver not installed (can't find it!)
Here's an example on a Win7 box:
(edited to include screen capture)

The easiest workaround is to find a Mac, Chromebook or Linux computer. Windows with ADB and Glass is nothing but pain.

Related

Flashing firmware Google Enterprise Edition 2

My GEE2 is currently running on version OPM1.190831.007, and I can't find a way to get a more recent version running. I've tried the flashing tool and manual flashing, but both methods came with their own issues. I'll give them below:
Flashing tool: I get either a 'device already in use' connection error or the device is offline. This besides the more common message that the flashing tool has some problems on windows sometimes, and that I should try refreshing the webpage.
Manual flashing: once I have given the adb reboot-bootloader command, the fastboot devices command won't recognize the device (listed as ???????? instead of the device name/number) or it will be offline. As a result, the commands that should be given afterwards according to the Readme file don't work.
I have the adb debugger from the Android Studio SDK platform-tools folder, so I updated the driver software of the GEE2 with the use of that folder initially. Afterwards I tried installing other adb software as well but that didn't help either.
I have also tried a couple of the simpler solutions, as unplugging and plugging, refreshing the site, using another computer, using another internet browser, deinstallation of the driver software, a factory reset of the GEE2, installing less recent firmware instead of the latest. None of these things changed the outcome.
Any suggestions would be highly appreciated!
Firstly, check if you have enabled developer options on EE2.
I had a hard time flashing it on Windows due to driver issues. My Android studio or ADB had no problem deploying apps to EE2, but the fastboot never worked. I ended up flashing it on a Mac using brew installed adb.
I had similar issues with Windows, the driver, and fastboot not working using the flash tool. I was told by support to use a USB 2.0 port. I used a Mac with USB 2.0 to flash it and it was successful.
There's a flaw with the instructions on google glass firmware update - for Windows only, there's a USB driver you need that is glass-specific which isn't mentioned anywhere on the page. I can't even find the page where I found that out right now and I know what I'm looking for. Which isn't very helpful.
The best I can give you is a link to this installer tool might sort out your problem judging this reddit post.
If that doesn't work, use a mac or linux.

Unable to connect google glass

I am trying to connect my google glass to my system but every time I connect it is being recognized as Android ADB Interface under Android Devices in the Device Manager (Screenshot attached).
Due to this i am not able to run my applications as it doesn't show up in the Device Picker of Android studio.
I tried connecting it to my friends system and it worked fine on that. But the only difference i noticed was that the device was being shown as Android Composite Device Interface under the Android Devices in the Device Manager.
I have already tried a fix to alter my android_winusb.inf and insert some custom lines but that also dint worked.
Can anyone else help me with some other solution?
Perhaps you aren't getting enough power on that USB hub.

How to disable WiFi on Glass for testing?

I want to develop a receiver for Google Glass which will detect the WiFi state of Glass and depending on that state show some information to user.
The receiver will listen for android.net.wifi.WIFI_STATE_CHANGED so that I can catch the event and after that check the status of the internet. It will not only detect the internet availability but will also show if Glass is timing out when pinging any specific IP address from any apps of glass.
I have tested the receiver on another Android device and it's working fine. But now I want to test the app on Glass. In order to test, I want to disable WiFi; however, Glass only shows options in settings for forgetting the current WiFi network and connecting to a nearby network.
How can I disable WiFi on Glass temporarily?
From default settings of glass its not possible to disable WiFi. To do the things you have to follow some instructions and install android default launcher and settings so that you can get the settings UI as your android device and do the rest of the desire works.
I am describing the whole process here :
At first you have to download these two apk.
Settings.apk - http://goo.gl/EqV8u
Launcher2.apk - http://goo.gl/ytfSn
After that you have to install these two apps into your glass by ADB :
1. adb install Settings.apk 2. adb install Launcher2.apk
Please be careful not to check the “Use as Default” box or you will not be able to access your Glass Settings until you uninstall Launcher2.apk.
After complete installing go to your settings and select launcher. After selecting android default launcher you will get the setting UI as like as your android device. Now you can do whatever you want like WiFi enable/disable, Bluetooth enable/disable and etc. But there have some issues which not working like Bluetooth Tethering, Data Usage , Airplane Mode and some more features.
Details process of using the settings and launcher and not working features.
If you want to uninstall the installed app at first see your app packages name and delete the app from the devices using below script :
adb shell pm list packages [see all of your installed app list]
abd shell pm uninstall -k com.packagename [your app by specific package name]
After above script you will get your previous glass settings.
Here is the excellent video where all these process has been described in nice way.
Voiding Your Warranty: Hacking Glass
Well as you already know we cannot disable/enable wifi and bluetooth through the native settings application(and I really don't know why). But what we know is that Google Glasses is a bit special Android device on which we can do a lot of stuff that can be done on a regular android device(such as a phone). Among "the stuffs" that can be done is enabling/disabling wifi and bluetooth programatically! In order to do that you must create your own small project and include the following lines:
WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
wifiManager.setWifiEnabled(true);
wifiManager.setWifiEnabled(false);
boolean wifiEnabled = wifiManager.isWifiEnabled();
//Disable bluetooth
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (mBluetoothAdapter.isEnabled()) {
mBluetoothAdapter.disable();
}
after running your small application that disables wifi and bluetooth you can navigate to your glass settings and see that both wifi and bluetooth are OFF. If you access one of them it asks you to turn them back on. At least it works for Google Glass 19.1 (this is my current version).
I made an app that should let you toggle wifi on and off right from the menu.
Either say "okay glass, power options" or navigate to the card under the "okay glass" menu structure.
Working on bluetooth for later. Based the app on the link below.
my app
https://github.com/afzaman/Power-Options-GoogleGlass
resources:
http://javatechig.com/android/how-to-turn-off-turn-on-wifi-in-android-using-code

Why fastboot doesn't work for XE12 under windows 7

I tried the instructions from
https://developers.google.com/glass/tools-downloads/system
$ adb reboot bootloader
$ fastboot oem unlock
$ fastboot flash boot boot.img
$ fastboot reboot
$ adb root
After step one, the glass either cannot boot up, or boot up normally, but not in fastboot mode. Basically, nothing shownup if I type "fastboot devices".
I am using a Win 7 machine, with usb cable connects to Google Glass.
(XE12 firmware).
By the way,
$adb devices works fine. I can see my glass got listed.
Dose anyone know the problem?
Thanks in advance.
I found the problem myself and would like to share with the community.
For Win 7,
the USB drivers from google don't have the Google Glass drivers listed. After installing the SDK, I couldn't find Google Glass as a valid device although Win 7 does
recognize Google Glass as an external storage. Basically, the adb.exe stuff won't
work.
I googled around, and some folk posted this issue, and posted the solution. I summarized here:
Go to "sdk/extras/google/usb_driver", open adnroid_winusb.inf (using notepad)
You will find Google Nexus 7, Nexus Q, ... but no google glass. Add the following:
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&REV_0216&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_00
You can find the VID_18D1... by opening the "Control Panel", "Hardware Sound",
"Device Manager", click on the unknown device, then click on the "Details" tab, then
click the Property description drop list, find the hardware id: You will get this
information.
You have to put the above lines in two places, one for Intel, one for AMD. After this,
the adb.exe will work. (Use "adb devices" command to check).
But fastboot still won't work. Then I found out there's one line missing.
SingleBootLoaderInterface is not set for google glass as fastboot has a different USB\VID.
To summarize, you should put the following in:
;Google Glass
%SingleAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&REV_0216&MI_00
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_9001&MI_00
%SingleBootLoaderInterface% = USB_Install, USB\VID_0451&PID_D022&REV_0100
I am very disappointed to Google glass's support, and released SDK QA.
Happy Explore!
XD

Attaching Unity's integrated profiler to Mobile Devices

Has anyone successfully used the Unity profiler with a physical mobile device? (i.e. the Unity 3.4 IDE tool that provides real-time stats on Unity calls, not the iOS or Android internal profilers). And if so, can you post the details about your setup and your experience?
I'm starting to get the feeling that people aren't using the profiler to test their games on real devices, given how little I can find in the Unity documentation and forums or on the web in general. In particular, dreamora is the only person I have heard of who has successfully attached the Unity profiler to a real device running a game (and then, only on iPhone not Android). It is also suspicious to me that the Android remote tool for Unity 3.4 which I downloaded form the marketplace requires a cable to connect to the Unity IDE and doesn't seem to have a wireless option; I see this as a red flag that wireless profiling by attaching the Unity profiler to an Android device may be impossible (please correct me someone if I'm wrong).
I would like to know your experiences (good or bad) with this tool, and assuming you have been able to profile a device, specifically I would like to know:
1) Did you connect to and Android or iOS?
2) What device and API version (i.e. Nexus S1 AndroidAPI=2.3.7 Kernel=2.6.35.14 running Cyanogen MOD 7.10)
3) What type of computer are you using (Windows or Mac, and OS)?
4) What is the nature of the connection you were able to make between your computer and the device?
4.1) Wired or wireless?
4.2) If wireless, ad-hoc from computer to device, tethering from device to computer, or both connected to the same WLAN router?
4.3) If wireless, what is the setup (DHCP, Static IP, ttl=4, etc?)
5) What are the Unity build settings (i.e. Development Build checked/unchecked, Autoconnect Profiler checked/unchecked, etc?)
6) What were the specific steps you took to connect to the device? (i.e. Build and run on device, then restart Unity twice, then offer up a prayer to the gods by sacrificing a Symbian phone, then connect via the Active Profiler pull-down, etc.)
Let's get to the bottom of this together, I will repost any information this community can provide me with in the Unity forums as well.
Well, I am going to partially answer my own questions here: By following these steps I was able to connect to and profile my Android Nexus running the Cyanogen Mod (7.1) using my MacBook pro (running 10.6.8 "Snow Leopard") on both Unity 3.4.1 and 3.4.2:
Create a WiFi Hotspot using Internet sharing on your Mac. Use the "Share your connection from: Ethernet" and "To computers using AirPort (AirMac)" options. I did not password protect my network.
Connect to this the WiFi network on your Android.
Quit Unity.app (if you already launched it).
Disable the Ethernet interface under System Preferences -> Network (select 'Off' from the Configure IPv4 pull-down menu)
Launch Unity.app
Enable Ethernet interface under System Preferences -> Network (select 'Using DHCP' from the Configure IPv4 pull-down menu)
Now Your Android should be in the list of the Profiler window. Of course, you will need to launch a Unity application that was built with the 'Development Build' and 'Autoconnect Profiler' checkboxes selected under Build Settings (that's what I did at least).
Happy Hunting!
-Arun
If the above don't work or you need to profile specifically on a Windows Phone, try the following...
1.) Make sure in Build Settings you set it to 'Development Build'.
2.) Connect your phone to your Wifi Network, then click on the wifi connection to see your phone's IP address
3.) Enter the phone's IP address in the profiler, and press the 'Record' button and the profiler will begin profiling on your phone.
4.) Run your game from Visual Studio, wait and you will see the profiling will begin.
If you don't see your phone in the profiler, try this alternate method
1.) Connect the phone to your PC
2.) Make sure in Build Settings you set it to 'Development Build'.
3.) Build the game to Visual Studio
4.) Run the game in 'Debug' mode from Visual Studio
5.) When the game is running on the device and is past any loading screens, click on the 'Active Profiler' dropdown in the profiler, and the device should be listed there