The daemon managing network interfaces for HybridOS.
- Linux WPA/WPA2/IEEE 802.1X Supplicant (2.10+):
- Package on Ubuntu 22.04 LTS:
wpasupplicant
. - Source: http://w1.fi/wpa_supplicant/
- Package on Ubuntu 22.04 LTS:
- PurC (0.9.13+): https://github.com/HVML/PurC
- HBDBus (2.0.0+): https://github.com/HybridOS2/HBDBus
For the detailed information about the 3rd-party dependencies of HBDInetd, please refer to:
HBDInetd provides two ports:
Linux
: This port useswpa_supplicant
and a real implementation of DHCP client to scan, connect, and configure a wireless device. We use this port in a real production.Fake
: This port simulating a virtual wireless device (wlan0
). We use this port when we develop an HVML app which provides the UIs for WiFi settings.
When you configure this porject by using CMake, please use one of the following commands according to your need:
$ cmake <root_of_source_tree> -DPORT=Linux
Or,
$ cmake <root_of_source_tree> -DPORT=Fake
After building HBDInetd, there will be one executable and the following HVML scripts:
hbdinetd
, located in thesbin/
directory in the root of your building tree. This is the daemon program of HBDInetd.scan.hvml
, located in thehvml/
directory in the root of your building tree. This is a HVML program for demonstrating how to use the data bus APIs to scan the hotspots and get the scan result from HBDInetd.connect.hvml
, located in thehvml/
directory in the root of your building tree. This is a HVML program for demonstrating how to use the data bus APIs to connect to a hotspot. Note that you can pass the SSID and passphrase on the command line as a query string:disconnect.hvml
, located in thehvml/
directory in the root of your building tree. This is a HVML program for demonstrating how to use the data bus APIs to check the current wireless connection information and disconnect from a hotspot.config.hvml
, located in thehvml/
directory in the root of your building tree. This is a HVML program for demonstrating how to use the data bus APIs to configure a network interface via DHCP.
$ hvml/connect.hvml -a cn.fmsoft.hybridos.settings -r wifi -q 'ssid=YourSSID&key=ThePassphrase'
To start HBDInetd, make sure that you have started HBDBus. For more information about HBDBus, please refer to:
https://github.com/HybridOS2/HBDBus
After starting hbdbusd
, you can run hbdinetd
in the root of your building tree:
$ sbin/hbdinetd
For the detailed usage, please run hbdinetd
with -h
option.
If you use Linux port, please note the following things:
- Run
sbin/hbdinetd
as a super user (root). - Run
rfkill
command to cancel any blocking on the wireless devices. - The Linux port also needs that the executable of
wpa_supplicant
is located in the system directory/sbin/
. - Some Linux distribution may configured
wpa_supplicant
under the optionONFIG_NO_CONFIG_WRITE=y
. This will prevent the daemon from saving configuration to the default config file. However, HBDInetd needs this options having valuen
, that is, we hopewap_supplicant
to manage the configuration.
For the description of APIs providing by HBDInetd, please refer to:
Design of HybridOS Data Bus (Chinese) Design of HybridOS Network Device Management Daemon (Chinese)
Copyright (C) 2020 ~ 2023 FMSoft Technologies
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
- 飛漫
- FMSoft
- 合璧
- HybridOS
- HybridRun
- MiniGUI
- xGUI
- miniStudio
- HVML
- 呼噜猫
- Purring Cat
- PurC