Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
1,044 Views

bitbake error-> hostap can't be installed - Source doesnt exist?

Jump to solution

Hi I'm building my own kernel and the only thing that gives error (after solving the ones that are provided on internet) during the bitbake is the hostapd:

ERROR: Fetcher failure: Fetch command failed with exit code 8, output:

http://hostap.epitest.fi/releases/hostapd-2.1.tar.gz:

2017-09-06 11:55:51 ERROR 503: Service Unavailable.

ERROR: Function failed: Fetcher failure for URL: ' http://hostap.epitest.fi/releases/hostapd-2.1.tar.gz'. Unable to fetch URL from any source.

ERROR: Logfile of failure stored in: /home/gonzalo/EdisonTools/LastYoctoSrc/iot-devkit-yp-poky-edison-20160606/iot-devkit-yp-poky-edison-20160606/build_edison/tmp/work/core2-32-poky-linux/hostapd-daemon/2.1-r0/temp/log.do_fetch.4551

ERROR: Task 421 (/home/gonzalo/EdisonTools/LastYoctoSrc/iot-devkit-yp-poky-edison-20160606/iot-devkit-yp-poky-edison-20160606/build_edison/../poky/meta-intel-edison/meta-intel-edison-distro/recipes-connectivity/hostapd/hostapd-daemon_2.1.bb, do_fetch) failed with exit code '1'

I've tried to open the link and there is no response from dns. Tried with the home page and neither exists. Is there any solution to this? Where can I get a valid url. Because if I don't install that, the edison won't connect to internet (Ive just tried).

I've tried with iot-devkit-yp-poky-edison-20160606 and edison-src-ww25.5-15.

 

Thank you.
0 Kudos

Accepted Solutions
Highlighted
Community Manager
21 Views

Hello gonzimalaga,

 

 

Thanks for reaching out!

 

 

Try changing the URL in the hostapd recipe for the following:

 

 

https://w1.fi/releases/hostapd-2.1.tar.gz

 

 

Then try again and let us know if you have issues with checksums or anything else.

 

 

I hope this information helps you,

 

Pedro M.

View solution in original post

6 Replies
Highlighted
Community Manager
22 Views

Hello gonzimalaga,

 

 

Thanks for reaching out!

 

 

Try changing the URL in the hostapd recipe for the following:

 

 

https://w1.fi/releases/hostapd-2.1.tar.gz

 

 

Then try again and let us know if you have issues with checksums or anything else.

 

 

I hope this information helps you,

 

Pedro M.

View solution in original post

Highlighted
Beginner
21 Views

It seems that now works perfectly. If in the next hours I find any error I'll let you know.

Very thank you

0 Kudos
Highlighted
Beginner
21 Views

Now when I finish the flash and I acces to the edison, It doesn't exist the command configure_edison...

I don't know if it's a problem from the hostapd or is another error.

 

I've done all this proccedure:

1. Downloaded iot-devkit-yp-poky-edison-20160606

2. Fixed openjdk-8, icedtea8 and bacnet as in ( )

3. Edited in edison-image.bb -->

# IMAGE_INSTALL += "iotkit-comm-js"

# IMAGE_INSTALL += "iotkit-comm-c-dev"

4. fixed paho-mqtt_3.1.bb --> SRC_URI = "git://github.com/eclipse/paho.mqtt.c.git;protocol=http

5. Edited hostapd-daemon_2.1.bb with the link you provided

6. Bitbake edison-image u-boot

7. Change the kernel configuration with menuconfig

8. bitbake virtual/kernel -c configure -f -v and again bitbake edison-image u-boot

9. postbuild.sh

10. sudo ./flashall.sh

Thanks!

0 Kudos
Highlighted
Community Manager
21 Views

I'm very glad to hear that you were able to build the image with the modification discussed above.

It is strange that your new image does not have the command configure_edison, however, the good thing about this command is that it is simply a Python script which you can simply copy and paste. This one of the more recent versions of the configure_edison script:

# !/usr/bin/python

# Copyright (c) 2014, Intel Corporation.

#

# This program is free software; you can redistribute it and/or modify it

# under the terms and conditions of the GNU Lesser General Public License,

# version 2.1, as published by the Free Software Foundation.

#

# This program is distributed in the hope it will be useful, but WITHOUT ANY

# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS

# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for

# more details.

#

import os

import sys

from sys import stdout

import time

import termios

import fcntl

import subprocess

import signal

import urllib2

import hashlib

import argparse

import json

from array import *

DESTINATION_PATH = "/tmp/"

STATE_DIR = '/var/lib/edison_config_tools' # todo: change in bitbake

class text_colors:

CYAN = '\033[96m'

MAGENTA = '\033[95m'

BLUE = '\033[94m'

YELLOW = '\033[93m'

GREEN = '\033[92m'

RED = '\033[91m'

END = '\033[0m'

class wpa_templates:

START = '''

ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=0

update_config=1

ap_scan=1

'''

OPEN = '''

network={

ssid="%s"

%s

key_mgmt=NONE

}'''

WEP = '''

network={

ssid="%s"

%s

key_mgmt=NONE

group=WEP104 WEP40

wep_key0="%s"

}

'''

WPAPSK = '''

network={

ssid="%s"

%s

key_mgmt=WPA-PSK

pairwise=CCMP TKIP

group=CCMP TKIP WEP104 WEP40

eap=TTLS PEAP TLS

psk="%s"

}

'''

WPAEAP = '''

network={

ssid="%s"

%s

key_mgmt=WPA-EAP

pairwise=CCMP TKIP

group=CCMP TKIP WEP104 WEP40

eap=TTLS PEAP TLS

identity="%s"

password="%s"

phase1="peaplabel=0"

}

'''

# worst case, break this out.

MAX = '''

network={

ssid="%s"

%s

key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE

pairwise=CCMP TKIP

group=CCMP TKIP WEP104 WEP40

psk="%s"

eap=TTLS PEAP TLS

identity="%s"

password="%s"

phase1="peaplabel=0"

}

'''

# Helpers

#

# borrowed code.

def getch():

fd = sys.stdin.fileno()

oldterm = termios.tcgetattr(fd)

newattr = termios.tcgetattr(fd)

newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO

termios.tcsetattr(fd, termios.TCSANOW, newattr)

oldflags = fcntl.fcntl(fd, fcntl.F_GETFL)

fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK)

try:

while 1:

try:

c = sys.stdin.read(1)

break

except IOError: pass

finally:

termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm)

fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)

return c

# borrowed code.

def getPassword(prompt):

stdout.write(prompt)

pw = ""

while 1:

c = getch()

if c == '\r' or c == '\n':

break

if c == '\003':

raise KeyboardInterrupt

if c == '\x08' or c == '\x7f':

if len(pw):

pw = pw[:-1]

stdout.write('\x08')

stdout.write('\x20')

stdout.write('\x08')

else:

pw = pw + c

stdout.write("*")

stdout.write('\r')

stdout.write('\n')

return pw

# failure code. needs to create an error log later.

def noooo(location):

unacceptable_failure = "Strange Error... this shouldn't happen. Failure at %s. Let us know so we can patch this."

print unacceptable_failure % location

quit()

def verified(selection):

verify = raw_input("Is " + text_colors.MAGENTA + selection + text_colors.END + " correct? " + text_colors.YELLOW + "[Y or N]" + text_colors.END + ": ")

if verify == "Y" or verify == "y":

return 1

elif verify == "N" or verify == "n":

return 0

else:

while 1:

verify = raw_input("Please enter either " + text_colors.YELLOW + "[Y or N]" + text_colors.END + ": ")

if verify == "Y" or verify == "y":

return 1

elif verify == "N" or verify == "n":

return 0

def changeName(newName):

_changeHostName(newName)

_changeAPSSID(newName)

def _changeHostName(newName):

hostname_file = open('/etc/hostname','w')

hostname_file.write(newName + "\n")

hostname_file.close();

subprocess.call("hostname -F /etc/hostname", shell=True)

def _changeAPSSID(newName):

os.popen("sed -i 's/^ssid=.*/ssid=%s/' /etc/hostapd/hostapd.conf" % (newName))

subproce...

0 Kudos
Highlighted
Beginner
21 Views

Ok I finally made it with a previous downloaded image (the same one) and it worked. Maybe it was an error while the bitbake.

But now I know how to do it if it happens again. (If I do it in the future, I'll let you know)

Thank you!

0 Kudos
Highlighted
Valued Contributor I
21 Views

More and more things will start breaking of course as time passes.

Did you have a look at: https://github.com/htot/meta-intel-edison/tree/morty https://github.com/htot/meta-intel-edison/tree/morty

Here we are working on a fork that currently uses Morty and Linux 4.12. There is even a x86-64 version.

It builds and runs, but not everything has been tested (incl. hostapd) and configuration scripts may have been stripped or removed.

Currently work is being done to get ACPI support both in the kernel and U-Boot and get Yocto to build the acpi tables. This will allow to setup pinmux'es. You can track progress of that here: https://edison.internet-share.com/wiki/ACPI https://edison.internet-share.com/wiki/ACPI

And of course we will be moving to Pyro as soon as we can to have package sources stay up to date.

If you are not afraid to update U-Boot you can test this without breaking your Edison. The kernel goes onto a free partition on the EMMC and the image on a SD Card. See the wiki github.

0 Kudos